在 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 server2012 安装问题

SQL server 2008 r2附加数据库出现错误了,见下图,怎么解决?求帮助!!!!!

sql server2012加载以前的原有数据库的时候出现了附加错误,怎么办

sql serve2012安装程序遇到以下错误 句柄无效 怎么办