SQL Server 服務帳戶 Windows 特權和權限
我的問題是,如果為每個 SQL Server 程序創建一個新的域使用者帳戶,應該為每個帳戶設置什麼權限?還是 SQL 配置管理器真的會處理這個問題,而我只是遇到了一個無法預料的問題?
我經常需要設置 Microsoft SQL Server,並想知道是否有人可以提供有關配置服務應該執行的帳戶的建議。國際海事組織這已被微軟模糊記錄,雖然他們為你指明了正確的方向,但我從未找到任何具體的例子。
總結一下我到目前為止所看到的:
對於簡單的部署\開發環境,可以使用安裝程序使用的預設虛擬帳戶:例如
NT SERVICE\MSSQLSERVER
避免使用該
SYSTEM
帳戶,這不安全。對於生產環境和域環境,建議使用託管服務帳戶,或為每個服務創建域使用者帳戶(不是管理員)。據稱,如果您在安裝時使用域帳戶,安裝程序將為您設置任何所需的權限。
如果將現有安裝上的服務帳戶從虛擬帳戶更改為域帳戶,建議使用 SQL Server 配置管理器設置新的服務帳戶。據稱,這將為您設置任何所需的權限。
我剛剛嘗試將現有安裝中的服務帳戶更改為域帳戶,在我授予帳戶權限之前,它會給我一個登錄失敗
log on as service
,這與 SQL Server 配置管理器將設置任何所需權限的部分相矛盾。(雖然我不確定 GPO 是否會干擾設置此本地安全策略)Microsoft 確實在此頁面上提供了 SQL Server 安裝程序授予的權限列表。
但我不清楚這是否應該為我創建的使用者手動執行以執行服務,或者使用 SQL 配置管理器是否應該自動設置這些權限。
SQL Server 2014,域控制器在 Windows Server 2008 R2 上。
我經常需要設置 MS SQL Server,並想知道是否有人可以提供有關配置服務應該執行的帳戶的建議。國際海事組織這已被微軟模糊記錄,雖然他們為你指明了正確的方向,但我從未找到任何具體的例子。
它實際上記錄得很徹底:http: //msdn.microsoft.com/en-us/library/ms143504.aspx
有沒有你不確定的部分?
對於簡單的部署\開發環境,可以使用安裝程序使用的預設虛擬帳戶:例如 NT SERVICE\MSSQLSERVER
這將取決於環境。我個人討厭找到有人使用本地帳戶設置的伺服器,並要求在未來某個時間訪問網路資源,以及其他問題。
對於生產環境和域環境,建議使用託管服務帳戶,或為每個服務創建域使用者帳戶(不是管理員)。
同樣,取決於,但通常我會同意(一個反例是可用性組,在所有實例中使用單個域帳戶是有意義的)。
據稱,如果您在安裝時使用域帳戶,安裝程序將為您設置任何所需的權限。
除非出現故障等,否則它會這樣做。我不確定為什麼“據稱”部分。
如果將現有安裝上的服務帳戶從虛擬帳戶更改為域帳戶,建議使用 SQL Server 配置管理器設置新的服務帳戶。據稱,這將為您設置任何所需的權限。
更改 SQL Server 的任何服務時,請始終使用 SSCM。總是。時期。它將新帳戶的權限設置為基礎。如果在使用本地系統帳戶並且對系統上的所有內容都擁有不受限制的權限之前,我希望在更改後由於更嚴格的安全控製而導致權限失敗。這不是 SQL Server SSCM 錯誤,而是管理員錯誤,未授予適當的 EXTRA 權限(例如訪問網路共享、受限文件夾、SQL Server 安裝權限之外的項目等)
我剛剛嘗試將現有安裝中的服務帳戶更改為域帳戶,它會給我一個登錄失敗,直到我授予帳戶“作為服務登錄”權限,這與 SQL Server 配置管理器將設置任何所需的部分相矛盾權限。(雖然我不確定 GPO 是否會干擾設置此本地安全策略)
聽起來像 GPO 引起了問題(恕我直言)。不會是第一次:)
所以我的問題是,如果您為每個 SQL Server 程序創建一個新的域使用者帳戶,應該為每個帳戶設置什麼權限?
我會在上面的 msdn 連結中明確設置任何權限(也由@joeqwerty 和您的 OP 提供)。例如,在網路共享上的“備份”文件夾上,在添加以保存新數據庫的新驅動器上(安裝程序已執行但驅動器不存在)等。
但我不清楚這是否應該為我創建的使用者手動執行以執行服務,或者使用 SQL 配置管理器是否應該自動設置這些權限。
除非伺服器嚴重損壞,否則不必手動提供這些。