[SQL SERVER][Memo]關於SQL Server Service Account 這檔事
今天其他廠商因為 SQL Server Service Account 權限問題而導致資料庫無法開啟,
當時我在ErrorLOG和EventLog看到下列錯誤訊息:
我看完Errorlog馬上檢查SQL Server Service Account權限是否正確,
而這錯誤確實因為 SQL Server Service Account 權限不足所導致,
當我和該廠商告知請他針對該帳戶給予適當權限後,
誰知廠商快手竟把Account直接換為Domain Admin(@@~~我暈),
所以這篇我來聊聊SQL Server Service Account 的選擇。
請注意:修改SQL Server Account 請一率使用SQL Server 組態管理員。
網域使用帳戶(Domain User Account):
如果 SQL Server 有和其他Server或服務存在任何網路溝通(Linked Server、File Server …等),
那可以建立最小權限網域帳戶來執行SQL Server,
而這也是我比較建議的帳戶類型。
本機使用帳戶(Local User Account):
如果 SQL Server 沒有和其他 Server 或服務存在任何網路溝通(Linked Server、File Server …等),
那可以建立最小權限本機帳戶來執行SQL Server。
本機服務帳戶(Local Service Account):
不支援 SQL Server Service 和 Agent,
所以也無法使用該帳戶來執行。
網路服務帳戶(Network Service Account):
該帳戶對於網路資源和物件存取的權限高於使用者群組中的成員,
所以基本上也不應該使用該帳戶來執行SQL Server。
本機系統帳戶(Local System Account):
絕對不要使用Local System Account來執行 SQL Server,
因為該帳戶算是本機內建帳戶權限最高的,同時也具有額外延伸的權限,
當SQL Server要使用該帳戶時,請好好仔細思考一下安全性議題。
結論:
不管任何SQL Server Service只給予最小權限,
依服務類別給予適當權限(清單資料夾內容、讀取、執行、寫入..等),
永遠不要給予過多權限,而不是為了方便一股腦給於 Administrators group 權限。
參考
可用來在 SQL Server 2005 中執行 SQL Server 代理程式服務的 Windows 帳戶類型
Guidelines on choosing Service Accounts for SQL Server Services.