如何为域帐户创建Sql Server登录名?


14

所有,

我在域(比如说AD)的服务器(比如说Server1)上安装了Sql Server 2008 。我也有一个名为AD \ Sql1的域帐户。这不是域(AD)上的管理员帐户,但我希望它成为Server1上的管理员帐户。然后在Sql Server上为该域帐户(而不是本地帐户)创建一个登录名。

我怎么做?

问题:

  1. 用户AD \ Sql1,我希望他作为Server1上的管理员。为此,我是否只创建了一个具有相同用户名的本地帐户(例如,Server1 \ Sql1),然后将该本地帐户设置为计算机上的管理员。该本地帐户会自动映射到同名的域帐户吗?也许我应该在这里添加CREATE LOGIN [AD\Sql1] FROM WINDOWS对我不起作用的内容。我尝试并出现错误提示user does not exist in Windows(类似这样的内容)
  2. 现在,如果上述技术可行。让我们假设,AD \ SQL1,成为上的管理员Sever1。因此,从理论上讲,我不需要在Sql Server上为该Windows域帐户创建Sql Login,对吗?属于BUILTIT \ Admins的所有本地管理员都会自动具有对Sql Server的sysadmin访问权限,对吗?

我哪里做错了?请分享所有可以更好地解释此概念的URL。

编辑:我还应该补充一点,问题1和2独立重要。我知道如何将域/ Windows帐户添加为sysadmin。但是我对域和本地帐户之间的映射如何工作很感兴趣。我的目标不是要以sysadmin身份添加本地帐户,我可以很快地做到这一点。我的意图不是无礼,而是要尽可能明确。如果我的问题仍然不清楚,请告诉我,以便我添加更多详细信息。

谢谢,
_UB

编辑:语法

Answers:


13

不要使用与域帐户相同的名称创建本地帐户。如果要将域登录名添加为sql管理员,请执行以下操作:

  • 为域帐户创建登录名: create login [AD\Sql1] from windows;
  • 将登录名添加到sysadmin组: exec sp_addsrvrolemember 'AD\Sql1', 'sysadmin';

做完了 如果仅AD\Sql通过net localgroup Administrators /add AD\Sql1(从CMD shell)将帐户添加到本地管理员,您将获得相同的结果,但这不是正确的解决方案,因为它AD\Sql1除了授予他SQL admin之外,还授予所有NT管理员特权。因此,将其作为必要条件是不必要的提升。顺便说一句,本地Administrators组的成员是SQL管理员的规则不是隐式的,它是在SQL安装过程中默认授予的显式特权,可以将其吊销,因此您必须进行检查。


谢谢,此评论中有一些我可以使用的信息。但我有一个后续问题。当我尝试使用添加SQL登录名时CREATE LOGIN [AD\Sql1] FROM WINDOWS,出现错误提示用户在Windows中不存在。因此,我必须将他添加到本地计算机中(然后它可以工作)。
UB01 2012年

我将调查您提到的有关“ ..默认情况下sysasmins,本地管理员在计算机上”的观点。谢谢,我会继续阅读。但是映射如何工作?域帐户和具有相同名称的本地帐户之间。
UB01 2012年

如果安装了SQL Server实例的计算机是域的一部分,则您应该可以添加域帐户,而不会出现任何问题。
JackLock 2012年

好的,这就是我的想法,但是我一直收到此错误:...user could not be found in windows。可能还有其他情况。我会再检查一次。
UB01 2012年

1
我收到一个错误消息,指出Windows中不存在该用户:这意味着您的SQL主机不是AD域的成员,也不是Trusted域的成员AD。您应该将计算机添加到AD域。您现在正在采用所谓的“ NT镜像帐户”方法(也许不知道您正在这样做...),这是错误的方法。将SQL托管计算机添加到AD域。
Remus Rusanu 2012年

2

在SSMS中连接到您的实例。展开安全性/登录名。右键单击添加新登录名,然后输入信息。在服务器角色上,如果希望它具有对SQL实例的全部控制权,则将其授予sysadmin。做完了 此帐户在Windows计算机上不必是本地管理员,在SQL Server中就可以是sysadmin。


感谢您的快速评论。我确实理解您在答复中传达的概念。我的问题(可能不是很清楚)是了解域帐户和本地帐户之间的关系(或映射)如何工作。以及这如何影响Sql Server。
UB01 2012年

在主数据库中为任何帐户,域或仅SQL Server帐户创建一个SID。
埃里克·希金斯

SID created for each account..我明白这个概念。让我举一个例子:该帐户AD\Sql1Server1\Sql1服务器上的帐户相同吗?是否每个都有一个单独的安全ID进行映射,以便操作系统知道它们是相同的?这会发生吗?(我只是在猜测,我不知道)
UB01 2012年

我知道了。我认为您正在尝试理解Windows的信誉。AD和本地Windows帐户不同(即使名称相同)。这是有关域SID,访问令牌如何工作的一些信息。我希望这会有所
Eric Higgins

谢谢,我将阅读该文章,看看是否能帮助我更好地理解这些概念。
UB01 2012年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.