全部,
我在域(比如说AD )中的服务器(比如说Server1 )上安装了 Sql Server 2008 。我还有一个名为AD\Sql1的域帐户。这不是域 ( AD ) 上的管理员帐户,但我希望它是Server1上的管理员。然后在 Sql Server 上为该域帐户(不是本地帐户)创建一个登录名。
我怎么做?
问题:
- 用户AD\Sql1,我希望他作为Server1上的管理员。为此,我是否只需创建一个具有相同用户名的本地帐户(例如Server1\Sql1)并将本地帐户设置为机器上的管理员。该本地帐户会自动映射到同名的域帐户吗?可能我应该在这里添加
CREATE LOGIN [AD\Sql1] FROM WINDOWS
对我不起作用的内容。我试过并得到一个错误说user does not exist in Windows
(类似的东西) - 现在,如果上述技术有效。让我们假设AD\Sql1成为 Sever1 上的管理员。所以,理论上我不需要在 Sql Server 上为那个 Windows 域帐户创建一个 Sql 登录,对吧?属于BUILTIT\Admins的所有本地管理员都自动拥有对 Sql Server 的系统管理员访问权限,对吗?
我哪里做错了?请分享任何可以更好地解释这个概念的 URL。
编辑:我还应该补充一点,问题 1 和 2 是独立的。我知道如何将域/Windows 帐户添加为sysadmin
. 但我对域和本地帐户之间的映射如何工作感兴趣。我的目标不是如何将本地帐户添加为系统管理员,我可以很快地做到这一点。我的意图不是粗鲁,而是尽可能清楚。如果我的问题仍然不清楚,请告诉我,以便我添加更多详细信息。
谢谢,
_UB
编辑:语法
不要创建与域帐户同名的本地帐户。如果您想以 sql 管理员身份添加域登录,请执行以下操作:
create login [AD\Sql1] from windows;
exec sp_addsrvrolemember 'AD\Sql1', 'sysadmin';
完毕。如果您只是
AD\Sql
通过(从 CMD shell)将该帐户添加到本地管理员,您将获得相同的结果net localgroup Administrators /add AD\Sql1
,但这不是正确的解决方案,因为它AD\Sql1
除了授予他 SQL 管理员之外,还授予所有 NT 管理员权限,这不是因此,作为一项要求声明是不必要的提升。顺便说一句,本地管理员组的成员是 SQL 管理员的规则不是隐式的,是在 SQL 设置期间默认授予的显式特权,它可以被撤销,因此您必须检查它。在 SSMS 中连接到您的实例。展开安全/登录。右键单击添加新登录名,输入信息。在服务器角色上,如果您希望它拥有对 SQL 实例的全部权力,请授予它 sysadmin 权限。完毕。此帐户无需是 Windows 计算机上的本地管理员即可成为 SQL Server 中的系统管理员。