2011-10-12 177 views
1

我刚刚通过创建一个空数据库并将备份恢复到它,将数据库从我们的测试服务器移动到活动服务器。SQL Server 2008权限问题

尽管正确添加登录,我收到以下错误:

The server principal "myUser" is not able to access the database "myDatabase" under the current security context.

我曾尝试单击对象资源管理器详细信息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

任何建议???

回答

2

尝试使用sp_change_users_login和“Auto_Fix”操作重新同步服务器和数据库之间的登录。

exec sp_change_users_login @Action = 'Auto_Fix', @UserNamePattern = 'myUser' 
+0

谢谢 - 我可以低登录到数据库。但是我仍然有一个加密密钥许可问题,我会在另一个问题中提出。再次感谢! – ComfortablyNumb