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 的其他計算機的鏈接服務器連接,則可以使用具有最低特權的域帳戶。許多服務器到服務器的活動只能使用域用戶帳戶來執行。此帳戶應由域管理員在您的環境內預先創建。