原創地址:http://www.cnblogs.com/jfzhu/p/4007472.html
轉載請注明出處
(一)Windows服務使用的登陸帳號
Windows服務只有登錄到某一帳戶的情況下才能訪問操作系統中的資源和對象。服務一般不要更改默認的登錄帳戶,否則可能導致服務失敗。如果選定帳戶沒有足夠的權限,Microsoft 管理控制台(MMC)的服務管理單元將自動為該帳戶授予登錄所管理計算機中服務的用戶權限。Windows Server 的服務可以用域帳戶或者三個內置的本地帳戶作為各系統服務的登錄帳戶,三個內置帳戶沒有密碼:
(1) 本地系統帳戶(Local System):本地系統帳戶功能強大,它可對系統進行完全訪問
(2) 本地服務帳戶(NT AUTHORITY\Local Service)
(3) 網絡服務帳戶(NT AUTHORITY\Network Service)
系統中絕大多數的服務都是使用上述三個內置本地帳戶作為登陸帳戶。
(二)Managed Service Account
在一些情況下使用域帳戶和內置帳戶存在一些問題,假設SQL Server的服務使用的是Local System帳號,那么其他使用Local System帳號的服務都可以連接到SQL Server數據庫;如果使用的是域帳戶,那么域帳戶的密碼在更改后,還需要在services.msc中手動相應更改這些服務的登陸帳戶密碼;如果服務所使用的域帳戶的密碼設置為永不過期,又會留下系統安全隱患,所以從Windows Server 2008 R2和Windows 7開始,一個新功能Managed Service Account(托管服務帳戶)應運而生。托管服務帳戶的密碼由系統生成,每30天更改一次,使用托管服務帳戶作為Windows服務的登陸帳戶不需要設置密碼。托管服務帳戶要只能綁定在一台計算機上使用。為了將不同的Windows服務隔離開,一個托管服務帳戶應該只給一個服務來使用。
(三)SQL Server 2012中的Managed Service Account
SQL Server 2012為每個SQL Server相關的服務都創建了一個托管服務帳戶(SQL Server Browser和Analysis Service除外。如何安裝SQL Server,請參見《Step by step SQL Server 2012的安裝》)。
SQL Server所使用的托管服務帳戶命名規范如下表
Service Name |
Instance |
Service Account Naming Convention |
Database Engine | Default | MSSQLServer |
Agent Service | Default | SQLSERVERAgent |
Reporting Server | Default | ReportServer |
Analysis Service | Default | MSSQLServerOLAPService |
Fulltext Service | Default | MSSQLFDLauncher |
Database Engine | InstanceName | MSSQL$InstanceName |
Agent Service | InstanceName | SQLAgent$InstanceName |
Reporting Server | InstanceName | ReportServer$InstanceName |
Analysis Service | InstanceName | MSOLAP$InstanceName |
Fulltext Service | InstanceName | MSSQLFDLauncher$InstanceName |
Integration Service | Not applicable | MSDtsServer110 |
檢查一下,SQL Server中,Database Engine和SQL Server Agent所使用的服務帳戶都被賦予了Sa角色。
總結:
(1) 在以前的系統中,Windows服務可以使用域帳戶,也可以使用三個內置的本地帳戶作為登陸帳戶。這三個本地帳戶分別為 Local System、NT AUTHORITY\Local Service 和 NT AUTHORITY\Network Service。選定Windows服務登陸帳戶時,該帳戶可以不具有任何權限,MMC的服務管理單元將自動為該帳戶授予登錄所管理計算機中服務的用戶權限。
(2) 從Windows 7和Windows 2008 R2開始出現了Managed Service Account,使用這種類型的帳戶,系統可以自動為你處理帳戶密碼。
(3) SQL Server 2012為每個SQL Server相關的服務都創建了一個托管服務帳戶(SQL Server Browser和Analysis Service除外)。