分享方式:


資料庫即時檔案初始化

數據和記錄檔會初始化,以覆寫先前已刪除檔案磁碟上剩餘的任何現有數據。 當您執行下列其中一項作業時,先以零填入檔案,以初始化數據和記錄檔:

  • 建立資料庫。

  • 將檔案、記錄或數據新增至現有的資料庫。

  • 增加現有檔案的大小(包括自動成長作業)。

  • 還原資料庫或檔案群組。

檔案初始化會導致這些作業花費較長的時間。 不過,當數據第一次寫入檔案時,作系統不需要以零填滿檔案。

立即檔案初始化

在 SQL Server 中,可以立即初始化數據檔。 這可讓您快速執行先前提及的檔案作業。 立即檔案初始化會回收已使用的磁碟空間,而不需以零填滿該空間。 相反地,當新數據寫入檔案時,會覆寫磁碟內容。 記錄檔無法立即初始化。

備註

立即檔案初始化僅適用於 MicrosoftWindows XP Professional 或 Windows Server 2003 或更新版本。

只有在 SQL Server (MSSQLSERVER) 服務帳戶已授與SE_MANAGE_VOLUME_NAME時,才能使用立即檔案初始化。 Windows 系統管理員群組的成員具有此許可權,並可將其新增至 [執行磁碟區維護工作 ] 安全策略,將其授與其他使用者。 如需指派用戶權力的詳細資訊,請參閱 Windows 檔。

啟用 TDE 時,無法使用立即檔案初始化。

若要授與帳戶 Perform volume maintenance tasks 許可權:

  1. 在將建立備份文件的計算機上,開啟 Local Security Policy 應用程式 (secpol.msc)。

  2. 在左窗格中,展開 [本機原則],然後按一下 [用戶權力指派]

  3. 在右窗格中,雙擊 執行磁碟區管理任務

  4. 按一下 [新增使用者或群組],然後新增任何用於備份的用戶帳戶。

  5. 按兩下 [ 套用],然後關閉所有 Local Security Policy 對話框。

安全性考慮

由於已刪除的磁碟內容只會因為新數據寫入檔案而遭到覆寫,因此未經授權的主體可能會存取已刪除的內容。 當資料庫檔案附加至 SQL Server 實例時,這項資訊洩漏威脅會由檔案上的任意訪問控制清單 (DACL) 減少。 此 DACL 只允許對 SQL Server 服務帳戶和本機系統管理員進行檔案存取。 不過,當檔案中斷連結時,用戶或服務可能會存取沒有SE_MANAGE_VOLUME_NAME。 備份資料庫時,也存在類似的威脅。 如果備份檔未受到適當的 DACL 保護,已刪除的內容就可供未經授權的使用者或服務使用。

如果洩露已刪除內容的可能性使您感到擔憂,您可以選擇以下其中一項或兩項措施:

  • 請務必確定任何中斷鏈接的數據檔和備份檔都有嚴格的 DACL。

  • 從 SQL Server 服務帳戶撤銷SE_MANAGE_VOLUME_NAME,以停用 SQL Server 實例的立即檔案初始化。

備註

停用立即檔案初始化只會影響撤銷用戶權力之後建立或增加大小的檔案。

另請參閱

CREATE DATABASE (SQL Server Transact-SQL)