【SQL Server】关于服务账户
SQL Server中的每个服务代表一个进程或一组进程,每个进程需要有访问SQL Server相关文件(如.mdf、.ndf 和 .ldf 等文件)或注册表或者SQL Server安装目录的权限。这些服务要在显示登录界面前就加载完成。为了能让SQL Server服务在操作系统中正常的启动和运行,就需要指定SQL Server的服务帐户,用以启动并获取需要访问操作系统文件的权限。所以服务帐户指的是Windows操作系统中的帐户。
SQL Server 2008中服务帐户类型分为不具有 Windows 管理员权限的“内置系统帐户”和“域用户帐户”,“内置系统帐户”又细分成三类“本地系统帐户”、“网络服务帐户”以及“本地服务帐户”。
1. Local System :是一个具有高特权的内置帐户。这个账户没有用户名和密码之类的凭证,如果机器处于域中,那么运行于 Local System 账户下的服务还可以使用机器账户在同一个森林中得到其他机器的自动认证,而且它能够使用空会话(null session) 去访问网络资源。该帐户的实际名称为“NT AUTHORITY\SYSTEM”。
2. Network Service :它比 Users 组的成员拥有更多的对资源和对象的访问权限。以 Network Service 帐户身份运行的服务将使用计算机帐户的凭据访问网络资源。该帐户的实际名称为“NT AUTHORITY\NETWORK SERVICE”。
3. Local Service :账户是预设的拥有最小权限的本地账户,与 Users 组的成员具有相同级别的资源和对象访问权限,该账户下的进程只能以没有凭据的空会话形式访问的网络资源。如果有个别服务或进程的安全受到威胁,则此有限访问权限有助于保护系统的安全。请注意,SQL Server 或 SQL Server 代理服务不支持 Local Service 帐户。该帐户的实际名称为“NT AUTHORITY\LOCAL SERVICE”。
“域用户帐户”是一个使用 Windows 身份验证的域用户帐户,以设置并连接到 SQL Server。Microsoft 建议对 SQL Server 服务使用具有最低权限的域用户帐户,因为 SQL Server 服务不需要管理员帐户特权。如果服务必须与网络服务进行交互,则访问类似于文件共享的域资源;如果服务使用到运行 SQL Server 的其他计算机的链接服务器连接,则可以使用具有最低特权的域帐户。许多服务器到服务器的活动只能使用域用户帐户来执行。此帐户应由域管理员在您的环境内预先创建。