分享方式:


設定 Database Engine 對檔案系統的存取權限

適用於: SQL Server - 僅限 Windows

本文描述如何為 SQL Server 資料庫引擎檔案系統存取權,使其能夠存取儲存資料庫檔案的位置。 資料庫引擎服務必須具有 Windows 檔案系統權限,才能存取資料庫檔案儲存所在的檔案資料夾。 其對於預設位置的權限,在安裝期間即已設定妥。 如果您將資料庫檔案放在不同的位置,必須依照下列步驟授與資料庫引擎對該位置的完整控制權限。

在 SQL Server 2012 (11.x) 及更高版本中,權限會指派給其每一項服務的個別服務安全性識別碼 (SID)。 這樣的系統有助於服務隔離並提供深層防禦。 個別服務 SID 是衍生自服務名稱,而且每一項服務各有獨特的值。 設定 Windows 服務帳戶與權限文章描述了個別服務 SID,並且在 Windows 權限和權利一節中提供各種名稱。 檔案位置的存取權限必須指派給此個別服務 SID。

將檔案系統權限授與個別服務 SID

  1. 使用 [Windows 檔案總管],導覽到資料庫檔案儲存所在的檔案系統位置。 以滑鼠右鍵按一下檔案系統資料夾,然後選取 [內容]。

  2. 在 [安全性] 索引標籤上,選取 [編輯],然後選取 [新增]。

  3. 在 [選取使用者、電腦、服務帳戶或群組] 對話方塊中,選取 [位置],並從位置清單頂端選取您的電腦名稱,然後選取 [確定]。

  4. 在 [輸入要選取的物件名稱] 方塊中,鍵入個別服務 SID 名稱的名稱。 如要找到它,請參閱設定 Windows 服務帳戶與權限。 (資料庫引擎的個別服務 SID 名稱是使用 NT SERVICE\MSSQLSERVER 代表預設執行個體,使用 NT SERVICE\MSSQL$<InstanceName> 代表具名執行個體。)

  5. 選取 [檢查名稱],驗證輸入。 (如果驗證失敗,其可能會告訴您找不到名稱。當您選取 [確定] 時,會出現 [找到多個名稱] 對話方塊。現在請選取個別服務 SID 名稱,即 NT SERVICE\MSSQLSERVERNT SERVICE\MSSQL$<InstanceName>,然後選取 [確定]。再次選取 [確定] 返回 [權限] 對話方塊。)

  6. 在 [群組或使用者名稱]方塊中,選取個別服務 SID 名稱,然後在 [權限名稱]<> 方塊中為 [完全控制] 選取 [允許] 核准方塊。

  7. 選取 [套用],然後選取 [確定] 兩次結束。