首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >服务器主体无法在SQL server MS 2012的当前安全上下文下访问数据库

服务器主体无法在SQL server MS 2012的当前安全上下文下访问数据库
EN

Stack Overflow用户
提问于 2013-09-25 23:47:41
回答 11查看 321.5K关注 0票数 129

我试图通过SQL Server Management Studio访问我的托管服务器的数据库,登录之前一切正常,但当我使用命令use myDatabase时,它给我这个错误:

代码语言:javascript
复制
The server principal "****" is not able to access the database "****" under the current security context.

我搜索了一遍,主机服务提供商列出了解决该问题的this解决方案。

但这对我来说不起作用,可能是因为它是针对SQL Server Management Studio 2008的,而我使用的是SQL Server Management Studio 2012。

这会是一个问题吗?如果是,那么谁能告诉我它在SSMS 2012中的替代方案?

EN

回答 11

Stack Overflow用户

回答已采纳

发布于 2013-10-01 04:56:22

检查您的用户是否映射到您尝试登录的数据库。

票数 92
EN

Stack Overflow用户

发布于 2015-02-24 07:51:56

在我们的PROD环境中,我们在将报告部署到SSRS时遇到了相同的错误。人们发现,这个问题甚至可以用“use”语句重现。解决方案是将用户的GUID帐户引用与相关数据库重新同步(即,像恢复数据库后那样使用"sp_change_users_login“)。附加了一个用于重新同步所有帐户的股票(光标驱动)脚本:

代码语言:javascript
复制
USE <your database>
GO

-------- Reset SQL user account guids ---------------------
DECLARE @UserName nvarchar(255) 
DECLARE orphanuser_cur cursor for 
      SELECT UserName = su.name 
      FROM sysusers su
      JOIN sys.server_principals sp ON sp.name = su.name
      WHERE issqluser = 1 AND
            (su.sid IS NOT NULL AND su.sid <> 0x0) AND
            suser_sname(su.sid) is null 
      ORDER BY su.name 

OPEN orphanuser_cur 
FETCH NEXT FROM orphanuser_cur INTO @UserName 

WHILE (@@fetch_status = 0)
BEGIN 
--PRINT @UserName + ' user name being resynced' 
exec sp_change_users_login 'Update_one', @UserName, @UserName 
FETCH NEXT FROM orphanuser_cur INTO @UserName 
END 

CLOSE orphanuser_cur 
DEALLOCATE orphanuser_cur
票数 28
EN

Stack Overflow用户

发布于 2018-07-12 22:10:09

这对我很有效:

代码语言:javascript
复制
use <Database>
EXEC  sp_change_users_login @Action='update_one', @UserNamePattern='<userLogin>',@LoginName='<userLogin>';

问题可以通过以下方式可视化:

代码语言:javascript
复制
SELECT sid FROM sys.sysusers WHERE name = '<userLogin>'
SELECT sid FROM sys.syslogins WHERE name = '<userLogin>';
票数 14
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19009488

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档