无法添加 SQL Server 登录账户

11

当我尝试创建一个SQL Server登录时,需要执行以下操作:

CREATE LOGIN [ourdomain\SQLAccessGroup] FROM WINDOWS;

我遇到了以下错误

服务器主体 'ourdomain\SQLAccessGroup' 已经存在。

但是,当我尝试运行这段代码时

DROP LOGIN [ourdomain\SQLAccessGroup]

我遇到了这个错误

无法删除登录名为 'ourdomain\SQLAccessGroup' 的用户,因为该用户不存在或您没有权限。

我执行此代码的用户是系统管理员。 此外,在此查询中未显示用户ourdomain\SQLAccessGroup

select * from sys.server_principals

有人有什么想法吗?

5个回答

8
我们仍在努力理解这个问题的具体原因,但似乎 [ourdomain\SQLAccessGroup] 被顾问别名为另一个用户名(这是 MS CRM 安装的一部分)。最终,我们能够使用一些逻辑和一些老式的 SID 比较来确定谁在玩冒名顶替的游戏。
当我尝试将登录添加为数据库用户时(因为它据说已经存在),我们得到了以下错误提示:
The login already has an account under a different user name.

因此,我开始检查每个数据库用户,并成功找到了罪魁祸首。最终我追踪到了它,并且重命名了用户和登录信息,这样CRM安装就可以正常工作了。我想知道我能不能按照每小时165美元的价格收费我的时间... :-)


3

这是在从备份中恢复时吗?我发现以下方法对我有用,特别是在遇到SQL用户帐户问题时。

EXEC sp_change_users_login ‘Auto_Fix’, ‘user_in_here’

0

我曾经遇到过类似的问题,我认为这个问题是由于在删除一个具有相同名称的现有帐户后尝试重新创建登录帐户而导致的。

只需使用SQL Studio浏览服务器上的各个数据库即可解决此问题。

例如步骤:

DBName -> Security-> users

在每个数据库的此级别上,您可能会看到用户帐户的名称。 删除每个数据库中的所有出现以及其在顶级安全设置中的出现

Security-> Logins

完成后,尝试重新创建登录帐户,您应该就可以了。


0

当我使用Windows用户名安装SQL Server,然后将计算机名称和Windows用户名从Windows重命名时,就会发生这种情况。 SQL服务器仍然在其节点中具有旧的“Computername \ Username”,该节点为Server-> Security-> Logins。

解决方案是转到Server-> Security-> Logins,右键单击-> 重命名旧的Windows用户,并使用新的 MachineName \ Username


-1

我有和Shadi一样的经历。

另外,我可以补充一点,这也可以通过查询来完成:

ALTER LOGIN "oldname\RMS" WITH name="currentname\RMS"

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接