在默认 SQL 安装中,引擎帐户是 NT Service\MSSQLSERVER,代理帐户是 NT Service\SQLSERVERAGENT
在 SQL 安全性中,我可以看到它们都被列为具有 sysadmin 角色的登录名。
它们还自动拥有各个文件夹的必要安全权限。
如果我通过配置管理器将引擎和代理帐户更改为域或本地帐户(如 mydomain\sqlengine、mydomain\sqlagent),则:
我是否需要在 SQL 安全性下创建这些帐户并为其分配 sysadmin 角色?
是否有任何其他后期步骤(如任何其他权限分配 - 如下所示: https: //learn.microsoft.com/en-us/sql/database-engine/configure-windows/configure-windows-service-accounts-and-权限?view=sql-server-ver16#Windows - 或者这是通过虚拟帐户隐式应用的?)?
我可以从我的 SQL 服务器登录中删除上述 2 个 NT 服务帐户吗?
询问的原因是 - 我知道 SQL 引擎在幕后使用服务 sidNT SERVICE\MSSQLSERVER
帐户,代理使用NT SERVICE\SQLSERVERAGENT
, 来获取各种文件夹权限(数据/日志/等),以及 Windows 权限和权限,例如Log in as a service
, Replace a process level token
,等等。但是,即使将SQL Server引擎服务帐户更改为域用户帐户后,它仍然使用该虚拟帐户来访问文件夹/文件吗?
当我通过配置管理器将 SQL Server 服务帐户更改为域用户帐户时,它不会自动更改数据或日志文件夹或文件权限。文件夹/文件安全弹出窗口始终显示MSSQLSERVER
(不是域用户帐户),并且 SQL 服务器工作得很好。
这是否意味着即使 SQL 引擎服务帐户更改为域用户帐户,SQL Server 引擎仍使用 NT SERVICE\MSSQLSERVER ?
这些帐户(NT SERVICE\MSSQLSERVER、NT SERVICE\SQLSERVERAGENT)称为虚拟帐户,并拥有您在使用配置管理器更改帐户时观察到的权限,以便继续工作。您可以通过以下链接阅读官方文档,该文档相当长,因此无法在此处重现全部内容,而且该链接似乎会定期更新。
https://learn.microsoft.com/en-us/sql/database-engine/configure-windows/configure-windows-service-accounts-and-permissions?view=sql-server-ver16#VA_Desc