我刚刚通过创建一个空数据库并为其恢复备份,将数据库从我们的测试服务器移动到了实时服务器。
尽管正确添加了Login,但我收到以下错误:
服务器主体“myUser”无法访问数据库 当前安全上下文下的“myDatabase”。
我尝试在对象资源管理器详细信息中单击F7,但没有运气。我只需运行:
即可得到错误> USE myDatabase
> GO
>
> EXECUTE AS LOGIN = 'myUser'
运行以下脚本(来自相关问题)正确显示用户
select princ.type_desc
, princ.name
, perm.permission_name
, perm.state_desc
, object_name(perm.major_id)
from sys.database_permissions perm
left join
sys.database_principals princ
on princ.principal_id = perm.grantee_principal_id
SQL_USER myUser CONNECT GRANT
任何建议???
答案 0 :(得分:2)
尝试使用sp_change_users_login和“Auto_Fix”操作重新同步服务器和数据库之间的登录。
exec sp_change_users_login @Action = 'Auto_Fix', @UserNamePattern = 'myUser'