在 SQL Server 中支援網路資料庫檔案的描述

本文說明在 SQL Server 中支援網路資料庫檔案,以及如何設定 SQL Server 將資料庫儲存在網路伺服器或 NAS 記憶體伺服器上。

原始產品版本: SQL S
原始 KB 編號: 304261

摘要

Microsoft 通常建議您使用儲存局域網路 (SAN) 或本機連接的磁碟來儲存您的 Microsoft SQL Server 資料庫檔案,因為此設定可優化 SQL Server 效能和可靠性。 根據預設,不會啟用儲存在網路伺服器或網路連接記憶體 (NAS) 伺服器上的網路資料庫檔案,以進行 SQL Server。

不過,您可以設定 SQL Server 將資料庫儲存在網路伺服器或 NAS 伺服器上。 用於此目的的伺服器必須符合數據寫入順序和寫入保證 SQL Server 需求。 These are detailed in the More Information section.

下列條件描述如何使用儲存在網路伺服器或 NAS 伺服器上的網路資料庫檔案:

  • 此使用預設會在 Microsoft SQL Server 2008 R2 和更新版本中啟用。

  • 此使用需要 -T1807 啟動追蹤旗標才能在 Microsoft SQL Server 2008 和舊版中運作。 從 2012 SQL Server 開始,不再需要追蹤旗標。 如需如何啟用啟動追蹤旗標的詳細資訊,請參閱 Database Engine 服務啟動選項

Windows 硬體質量實驗室 (WHQL) 限定裝置

Windows 硬體質量實驗室 (WHQL) 限定的 Microsoft Windows 伺服器和網路伺服器或 NAS 記憶體伺服器,會自動符合支援 SQL Server 儲存設備所需的數據寫入順序和寫入保證。 Microsoft 支援這些組態中的應用程式和記憶體相關問題。

注意事項

若要 SQL Server 支援,NAS 記憶體解決方案也應該符合下載檔中所列的所有需求:SQL Server IO 可靠性計劃需求。

其他裝置

如果您使用非 WHQL 限定記憶體裝置與支援本文所述之交易式資料庫使用之 I/O 保證的 SQL Server,Microsoft 將會提供 SQL Server 和 SQL Server 型應用程式的完整支援。 不過,裝置或其記憶體子系統的問題,或是由裝置製造商所造成。 如果您使用的非 WHQL 限定記憶體裝置不支援本文所述之交易式資料庫使用的 I/O 保證,Microsoft 就無法提供 SQL Server 或 SQL Server 型應用程式的支援。 若要判斷您的非 WHQL 限定記憶體裝置是否支援本文所述或專為資料庫使用而設計的交易式資料庫使用 I/O 保證,請洽詢您的裝置廠商。 此外,請連絡您的裝置廠商,確認您已正確部署並設定裝置以供交易資料庫使用。

其他相關資訊

根據預設,在 SQL Server 2008 和更早版本中,您無法在網路檔案共用上建立 SQL Server 資料庫。 在對應或 UNC 網路位置上建立資料庫檔案的任何嘗試都會產生下列任一錯誤訊息:

  • 錯誤訊息 1

    5105「裝置啟用錯誤」

  • 錯誤訊息 2

    5110「檔案 』file_name' 位於資料庫檔案不支援的網路裝置上。」

這是預期的行為。 追蹤旗標 1807 會略過檢查,並可讓您使用網路資料庫檔案設定 SQL Server。 SQL Server 和其他大部分的企業資料庫系統,在發生系統失敗或非受控關機時,使用事務歷史記錄和相關聯的復原邏輯來維護事務資料庫一致性。 這些復原通訊協議依賴直接寫入磁碟媒體的能力,因此當操作系統輸入/輸出 (I/O) 寫入要求傳回資料庫管理員時,復原系統可以確定寫入已完成,或保證寫入完成。 任何軟體或硬體元件若無法接受此通訊協定,都可能會在發生系統失敗時造成部分或總計的數據遺失或損毀。 如需 SQL Server 中記錄和復原通訊協議這些層面的詳細資訊,請參閱在 SQL Server 中擴充數據可靠性的記錄和數據儲存演算法描述

Microsoft 不支援在 NAS 或網路記憶體伺服器上 SQL Server 不符合這些寫入和寫入順序需求的網路資料庫檔案。

由於網路錯誤危害資料庫完整性的風險,加上使用網路檔案共享來儲存資料庫可能造成的效能影響,Microsoft 建議您將資料庫檔案儲存在本機磁碟子系統或儲存局域網路上, (SAN) 。

NAS) 系統 (網路連結記憶體是用戶端使用 TCP/IP) 等網路協定 (,透過網路重新導向器附加至的檔案型記憶體系統。 根據預設,如果磁碟資源的存取需要對應共用,或磁碟資源透過 UNC 路徑顯示為遠端伺服器, (例如,網路上的 \Servername\Sharename) ,磁碟記憶體系統不支援作為 SQL Server 資料庫的位置。

效能問題

SQL Server 和其他企業資料庫系統一樣,可以在 I/O 子系統上放置大量負載。 在大部分的大型資料庫應用程式中,實體 I/O 組態和微調在整體系統效能中扮演著重要的角色。 有三個主要的 I/O 效能因素需要考慮:

  • I/O 帶寬:匯總頻寬,通常以每秒 MB 為單位來測量,可維持在資料庫裝置上。
  • I/O 延遲:資料庫系統對 I/O 的要求與 I/O 要求完成點之間的延遲,通常以毫秒為單位來測量。
  • CPU 成本:主機 CPU 成本通常以 CPU 毫秒為單位,讓資料庫系統完成單一 I/O。

這些 I/O 因素中的任何一個都可能會成為瓶頸,而且當您為資料庫應用程式設計 I/O 系統時,必須考慮所有這些因素。

NAS 解決方案的最簡單形式是使用標準網路重新導向器軟體堆疊、標準網路適配器 (NIC) ,以及標準乙太網路元件。 此設定的缺點是所有檔案 I/O 都會透過網路堆疊處理,並受限於網路本身的頻寬限制。 這可能會造成效能和數據可靠性問題,特別是在需要高階檔案 I/O 的程式中,例如 SQL Server。 在 Microsoft 測試的某些 NAS 設定中,I/O 輸送量是相同伺服器上直接連結記憶體解決方案的三分之一 (1/3) 。 在此相同的設定中,透過 NAS 裝置完成 I/O 的 CPU 成本是本機 I/O 的兩倍。 隨著 NAS 裝置和網路基礎結構的演進,相對於直接連結的記憶體或 SAN,這些比例也可能會改善。 此外,如果您的應用程式數據大多快取在資料庫緩衝池中,而且您未遇到任何概述的 I/O 瓶頸,則 NAS 型系統上的效能可能就足以供您的應用程式使用。

備份和還原考慮

SQL Server 提供虛擬設備介面 (VDI) 進行備份。 VDI 為備份軟體廠商提供高效能、可調整且可靠的方法來執行熱備份,以及還原 SQL Server 資料庫。

備份軟體會透過 VDI 在 NAS 裝置上儲存的資料庫檔案上運作,而不需要 NAS 特定的特殊支援。 不過,這會導致備份和還原期間產生許多額外的網路流量。 在透過 VDI 進行備份期間,SQL Server 從遠端讀取檔案,並將數據傳遞至在 SQL Server 電腦上執行的第三方備份軟體。 還原作業類似。

為了避免額外的網路負荷,備份廠商必須提供備份廠商和 NAS 廠商的 NAS 特定支援。 SQL Server VDI 可讓備份軟體利用硬體 (分割鏡像) 或軟體, (NAS 裝置支援的寫入時複製) 技術,快速複製 NAS 本機資料庫檔案。 這些技術不僅可避免透過網路複製檔案以進行備份的額外負荷,也可減少依數量順序的還原時間。

儲存在 NAS 上的備份很容易受到影響儲存在 NAS 上之資料庫檔案的相同失敗。 您應該考慮將這些備份複製到替代媒體來保護這些備份。

注意

如果您使用 NAS 備份技術,而不需要 SQL Server VDI 支援,您可能會在備份中遇到資料庫損毀。 如果記錄檔和數據檔儲存在不同的裝置上,這類損毀包括損毀頁面或數據檔之間的不一致。 SQL Server 還原資料庫並存取損毀的數據之前,可能不會偵測到損毀的頁面或不一致。 Microsoft 不支援使用與 SQL Server 不協調的 NAS 備份技術。

備份支援和 NAS 廠商對 SQL Server VDI 的支援各不相同。 如需 VDI 支援的詳細資訊,請洽閱 NAS 和備份軟體供應商。

Microsoft 鼓勵考慮為 SQL Server 資料庫部署 NAS 解決方案的客戶洽詢其 NAS 廠商,以確定端對端解決方案設計適用於資料庫使用。 許多 NAS 廠商都有此用途的最佳做法指南和認證的設定。 Microsoft 也建議客戶將 I/O 效能評定為基準,以確保先前提及的 I/O 因素都不會在其應用程式中造成瓶頸。

下列清單描述 SQL 故障轉移叢集上網路型檔案的支援:

其他注意事項

不正確地搭配 NAS 產品使用資料庫軟體,或搭配未正確設定 NAS 產品的資料庫使用,可能會導致數據遺失,包括資料庫遺失總計。 如果 NAS 裝置或網路軟體不完全接受數據保證,例如寫入順序或寫入,則硬體、軟體或甚至電源故障可能會嚴重危害數據完整性。

參考資料