我在ABCLOGIN下创建了一个登录ABCLOGIN和一个用户ABCUSER,用于数据库ABC_db
然后我使用ABCLOGIN& amp;执行以下查询:
execute as user='dbo'
它出现以下错误:
无法作为数据库主体执行,因为主体“dbo” 不存在,这种类型的委托人不能被冒充,或者你 没有许可。
如何解决此问题?
答案 0 :(得分:0)
你不应该使用execute as user='ABCUSER'
吗?您的说明中没有名为“dbo”的用户。
修改
好的,但你没有授予用户'dbo'任何权限。如果有默认用户“dbo”,则必须执行此操作:GRANT IMPERSONATE ON USER::ABCUSER to dbo
如需了解更多详情,请查看here。