在 SQL Server 2012 中出现以下错误“找不到用户 '<user>',因为它不存在或您没有权限”
Posted
技术标签:
【中文标题】在 SQL Server 2012 中出现以下错误“找不到用户 \'<user>\',因为它不存在或您没有权限”【英文标题】:Getting the following error in SQL Server 2012 "Cannot find the user '<user>', because it does not exist or you do not have permission"在 SQL Server 2012 中出现以下错误“找不到用户 '<user>',因为它不存在或您没有权限” 【发布时间】:2014-03-07 23:29:58 【问题描述】:我无法授予执行权限。我基本上遇到了与这个问题相同的问题,但我没有看到任何适用于我的情况的解决方案。
Cannot find the user '', because it does not exist or you do not have permission
我正在尝试运行以下命令:
use master
go
grant exec on sp_OACreate to [db_user]
GO
我是这个盒子的系统管理员,用户确实存在。这是一个 SQL Server 登录,而不是 Windows 登录。
有趣的是,当我运行以下语句时,它返回为空。
select * from sys.database_principals where name = 'db_user'
我确定这与它有关,但我不知道如何让该用户进入database_principals
表。这个特定的数据库是从供应商的临时环境中恢复的。
【问题讨论】:
【参考方案1】:需要将此用户添加到主数据库。如果我错了,请纠正我,但我相信它是一个孤立的用户,因为它有一个登录名,但在主数据库中没有用户帐户。我已经运行以下命令将用户添加到主数据库。
USE master
GO
CREATE USER db_user FOR LOGIN db_user
GO
然后我就可以为这个用户添加执行权限了。
【讨论】:
以上是关于在 SQL Server 2012 中出现以下错误“找不到用户 '<user>',因为它不存在或您没有权限”的主要内容,如果未能解决你的问题,请参考以下文章
SQL Server 2012 安装出现错误:在运行 Windows Installer 文件时遇到错误。
网站部署到 IIS 并连接到 SQL Server 2012 时出现问题,出现找不到网络错误
SQL server 2008 r2附加数据库出现错误了,见下图,怎么解决?求帮助!!!!!