使用域帐户时 NT 服务帐户是否需要是 SysAdmin

Gre*_*reg 4 security sql-server sql-server-2014

我不确定我是否在谷歌上搜索错误的东西,但我找不到答案。我们正在运行 SQL 2014。SQL Server 和 SQL 代理进程都在域托管服务帐户下运行。

安装 SQL 时NT SERVICE\MSSQLSERVERNT SERVICE\SQLSERVERAGENTNT SERVICE\SQLWriterNT SERVICE\Winmgmt都设置为SysAdmins.

如果我以域用户身份运行 SQL 和 SQL 代理,我是否还需要这些 NT 服务帐户,和/或它们是否需要成为 SysAdmin?

Kin*_*hah 5

如果我以域用户身份运行 SQL 和 SQL 代理,我是否还需要这些 NT 服务帐户,和/或它们是否需要成为 SysAdmin?

即使您以域帐户的身份运行 SQL 服务器,也要保持NT SERVICE\*原样。

来自 BOL :

Windows Server 2008 R2 和 Windows 7中的虚拟帐户是受管理的本地帐户,提供以下功能以简化服务管理。虚拟账户是自动管理的,虚拟账户可以在域环境中访问网络。如果在 Windows Server 2008 R2 或 Windows 7 上的 SQL Server 安装过程中为服务帐户使用默认值,则使用使用实例名称作为服务名称的虚拟帐户,格式为NT SERVICE\<SERVICENAME>

这些登录名是 sysadmin 固定服务器角色的成员,因此他们可以在数据库引擎中执行任何操作。SYSADMIN即使您使用域帐户,也要让它们发挥作用。请参阅SQL Server Per-service SID 登录和权限部分。

一个非常好的答案,详细说明了上述内容 -服务/数据库帐户 - NT SERVICE\MSSQLSERVER & NT SERVICE\SQLSERVERAGENT ......它们是做什么用的?

无法在可用的内置帐户、本地帐户或域帐户列表中选择这些帐户。这是因为它们是服务,而不是帐户。他们在 Windows 中有一个安全标识符 (SID),但 Windows 知道他们不是真正的用户。Windows 可以对它们进行身份验证,但它们没有任何人可以使用的密码。如果您运行lusrmgr.msc并查看组,您将看到 SQLServerMSSQLUser$computername$MSSQLSERVER 之类的组,NT SERVICE\MSSQLSERVER 是该组的成员。