共用方式為


壓縮磁碟區上 SQL Server 資料庫支援的描述

本文說明壓縮磁碟驅動器上的 SQL Server 資料庫檔案儲存行為。

原始產品版本:SQL Server
原始 KB 編號: 231347

摘要

NTFS 或 FAT 壓縮磁碟區不支援 SQL Server 資料庫,但 SQL Server 2005 和更新版本的特殊情況除外。 壓縮的磁碟區不保證扇區對齊的寫入,這些是保證在某些情況下交易式復原的必要條件。

針對 SQL Server 2005 和更新版本,壓縮磁碟驅動器上的資料庫檔案記憶體的行為如下:

  • 如果您的數據檔屬於唯讀檔案群組,則允許檔案。

  • 如果您的數據檔屬於唯讀資料庫,則允許檔案。

  • 如果您的事務歷史記錄檔屬於唯讀資料庫,則允許檔案。

  • 如果您試著在壓縮的磁碟驅動器上顯示具有檔案的讀取/寫入資料庫,SQL Server 會產生下列錯誤:

    訊息 5118、層級 16、狀態 2、第 1 行檔案「<file_name>」已壓縮,但不在只讀資料庫或檔案群組中。 必須解壓縮該檔案。

如需 SQL Server 2008 中唯讀資料庫和唯讀檔案群組排除專案的詳細資訊,請移至下列 MSDN 網站:

唯讀檔案群組和壓縮

注意

本主題也適用於 SQL Server 2012 和更新版本。

其他相關資訊

雖然實際上可以在壓縮的磁碟區上新增 SQL Server 資料庫,但我們不建議這麼做,也不支援它。 其根本原因包括下列各項:

  • 效能

    壓縮磁碟區上的資料庫可能會導致顯著的效能負荷。 數量會根據 I/O 的磁碟區,以及讀取與寫入的比例而有所不同。 不過,在某些情況下觀察到超過500%的降低。

  • 資料庫復原

    資料庫可靠的交易式復原需要扇區對齊的寫入,而壓縮的磁碟區不支援此案例。 第二個問題涉及內部復原空間管理。 SQL Server 會在內部保留資料庫檔案中預先配置的空間以供復原。 壓縮的磁碟區可能會收到 預先配置檔案的空間不足 錯誤,這會影響成功復原。

在某些情況下,SQL Server 備份至壓縮的磁碟區或壓縮資料夾並不成功。 發生此問題時,您會收到下列其中一個錯誤訊息。

  • 在 Windows Vista 和更新版本的 Windows 中

    STATUS_FILE_SYSTEM_LIMITATION因為檔系統限制而無法完成要求的作業
    作業系統錯誤 665(由於檔案系統限制而無法完成要求的作業 )

  • 在舊版 Windows 中

    STATUS_INSUFFICIENT_RESOURCES系統資源不足,無法完成所要求的服務操作系統錯誤 1450(系統資源不足,無法完成要求的 或 33(進程無法存取檔案,因為另一個進程鎖定了部分檔案。

如需此問題的詳細資訊,請參閱 NTFS磁碟區中大量分散的檔案可能不會成長超過特定大小

注意

  • 知識庫文章 中討論的 Windows Vista 和更新版本的 Windows Hotfix 967351 可能無法解決 SQL Server 備份無法成功至壓縮磁碟區或壓縮資料夾的問題。 不過,此 Hotfix 有助於調解問題。
  • 套用知識庫文章 967351中所討論的 Hotfix 之後,您必須使用 /L 參數來格式化已啟用壓縮的磁碟驅動器。 當您使用 /L 參數格式化啟用壓縮的磁碟驅動器時,[每個檔案記錄區段的位元組數] 會從1,024個字節增加到4,096個字節。

SQL Server 備份至壓縮的磁碟區可以節省磁碟空間。 不過,它們可能會在備份作業期間增加 CPU 使用量。 我們一律建議您使用BACKUP總和檢查碼設備來協助保證數據完整性。

SQL Server 需要系統支援穩定媒體的保證傳遞,如 SQL Server I/O 可靠性計劃需求中所述

如需 SQL Server 資料庫引擎輸入和輸出需求的詳細資訊,請參閱 Microsoft SQL Server 資料庫引擎 輸入/輸出需求