1. 程式人生 > >SQL SERVER 2008安裝中設定賬戶的問題

SQL SERVER 2008安裝中設定賬戶的問題

在安裝SQL Server 2008資料庫伺服器的時候,伺服器有可能處於以下幾種環境中:
①工作組環境下的伺服器 (WorkGroup)
②域環境下的域控制器  (Domain Controller)
③域環境下的成員伺服器 (Domain Member)
④群集環境 (cluster)
 
在實際應用中,開發人員或者實施人員很少有機會接觸到基於域控制器的網路環境的應用,絕大多數應用都是針對工作組環境的。
比如:配置好的IIS伺服器中會發布很多網站,伺服器本身也會承載資料庫的角色等,此時即是在工作組環境下的應用。

但對於微軟平臺企業級應用開發而言,則幾乎都需要在域環境下進行應用和部署。
比如微軟的CRM,SharePoint,uc等產品的二次開發、.NET平臺為了適應企業環境和組織架構在域模式下的應用開發等,此時可能會涉及到在域控制器、域成員伺服器甚至在“群集”中安裝SQL Server 2008。
 
上面列舉了SQL SERVER 2008可能的應用部署環境,但無論是哪一種環境下應用,都會碰到為每個<SQL Server服務>配置賬戶的問題。

為什麼要給SQL SERVER 的每一個服務配置賬戶?
這是因為:給SQL SERVER服務配置了不同的賬戶之後,該SQL SERVER服務就會以該賬戶所屬的組來執行,從而通過賬戶去控制該服務訪問各種資源的許可權。

SQL Server 2008內建了3個賬戶,分別是:
Local Service 本地服務帳戶,
Network Service 網路服務帳戶,
Local System 本地系統帳戶

1.Local Service 帳戶: 
Local Service本地服務帳戶與 Users 組的成員具有相同級別的資源和物件訪問許可權
(題外話:什麼是Users賬戶組,參見《Windows六大使用者組功能分析》)。
如果有個別服務或程序的安全性受到威脅,則此賬戶的有限訪問許可權有助於保護系統的安全性。
以 Local Service 帳戶身份執行的服務將以一個沒有憑據的 Null 會話形式訪問網路資源


請注意:SQL Server 或 SQL Server 代理服務不支援 Local Service 帳戶。
該帳戶的實際名稱為“NT AUTHORITY\LOCAL SERVICE”。

題外話:Windows憑據(Credential)其實就是指使用者帳戶和口令。
               Null會話,即空會話,參見《空連線》一文。

2.Network Service 帳戶: 
Network Service 網路服務賬戶比 Users 組的成員擁有更多的對資源和物件的訪問許可權。
以 Network Service 帳戶身份執行的服務將使用計算機帳戶的憑據訪問網路資源
該帳戶的實際名稱為“NT AUTHORITY\NETWORK SERVICE”。
 

3.Local System 帳戶: 
Local System 本地系統賬戶是一個具有高特權的內建帳戶
它對本地系統有許多許可權並作為網路上的計算機。
該帳戶的實際名稱為“NT AUTHORITY\SYSTEM”。

---------------------------------------------------------------------------------------------------------------------------

在實際應用中,

1.若在工作組環境下安裝SQL Server 2008,允許使用的賬戶包括:
①本地使用者帳戶(注意不是Local Service本地服務賬戶!)、
②內建賬戶(Network Service網路服務賬戶、Local System本地系統賬戶等)。 
 
2.若在域環境上(包括成員伺服器)安裝 SQL Server 2008,
(注意:出於安全方面的考慮,Microsoft 建議不要將 SQL Server 2008 安裝在域控制器上)
雖然SQL Server 安裝程式不會阻止在作為域控制器的計算機上進行安裝,但存在以下限制:
①可使用的賬戶受限
在域控制器上,無法在<Local Service本地服務帳戶>或<Network Service網路服務帳戶>下執行 SQL Server 服務。此時用的賬戶一般是域賬戶和<Local System本地系統賬戶>。 
②將 SQL Server 安裝到計算機上之後,無法將此計算機從域成員更改為域控制器。
必須先解除安裝 SQL Server,然後才能將主機計算機更改為域控制器。 
③在群集節點用作域控制器的情況下,不支援 SQL Server 故障轉移群集例項。
④SQL Server 安裝程式不能在只讀域控制器上建立安全組或設定 SQL Server 服務帳戶。在這種情況下,安裝將失敗。
--------------------------

總之,通過給不同的SQL SERVER 服務配置不同的賬戶,就可以控制其許可權,從而限制可訪問的資源,並且有助於系統的安全執行。