当我尝试将现有域用户添加到服务器角色 sysadmin 时,我无法这样做。我以 SysAdmin 身份登录。我执行 sp_addsrvrolemember(或通过 gui 执行)。我没有收到任何错误。但该用户未添加到 sysadmin 组。
答案1
好吧,谜团解开了。系统管理员安装了一些第三方软件(McAfee Host Inception Prevention),它阻止了 sp_addsrvrolemember 调用。没人告诉我这个被添加了。我们建立了一个规则来允许更改。它现在正常工作了。
答案2
您是以管理员身份登录 SQL 还是以管理员身份登录 Windows。它们不一定相同,默认情况下(除非您在安装过程中另行指定)本地系统管理员不是 SQL 管理员。(据我所知,这不是微软的设计决定,而是许多 DBA 的普遍要求,类似地,SQL Server 2008 有组策略,但这是他们自己的组策略)
答案3
除了 Jim B 所说的之外,您首先还必须将域帐户添加为 SQL 实例上的用户。在对象浏览器的“安全性”下,右键单击“登录”并执行“新建用户”,或使用 TSQL:
CREATE LOGIN [domain\username] FROM WINDOWS
如果您还没有这样做的话我只是想指出这一点 :)