本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
最佳化SQL伺服器備份策略
概觀
大多數組織都在尋找正確的解決方案來保護其 Amazon EC2 上SQL伺服器上的資料,以符合其目前對復原點目標 (RPO)、自上次備份以來可接受的時間上限,以及復原時間目標 (RTO),以及服務中斷和還原服務之間的可接受延遲上限的要求。如果您是在EC2執行個體上執行SQL伺服器,您有多個選項可建立資料的備份並還原資料。保護 Amazon 上 SQL Server 資料的備份策略EC2包括:
-
使用支援 Windows Volume Shadow Copy Service
(VSS) 的 Amazon Elastic Block Store (Amazon EBS) 快照或 的伺服器層級備份 AWS Backup -
在SQL伺服器中使用原生備份和還原的資料庫層級備份
您具有下列資料庫層級原生備份的儲存選項:
-
具有 Amazon EBS磁碟區的本機備份
-
使用 Amazon FSx for Windows File Server 或 Amazon FSx for 的網路檔案系統備份 NetApp ONTAP
-
使用 將網路備份至 Amazon Simple Storage Service (Amazon S3) AWS Storage Gateway
-
直接備份至 Amazon S3 for SQL Server 2022
本節執行下列動作:
-
反白顯示可協助您節省儲存空間的功能
-
比較不同後端儲存選項之間的成本
-
提供深入文件的連結,以協助實作這些建議
使用VSS啟用 的快照進行伺服器層級備份
VSS啟用 的快照架構會使用 AWS Systems Manager 執行命令在您的SQL伺服器執行個體上安裝VSS代理程式。您也可以使用 Run Command 叫用整個工作流程,將作業系統和應用程式緩衝區排清到磁碟、暫停 I/O 操作、拍攝 point-in-timeEBS磁碟區快照,然後繼續 I/O。
此執行命令會建立連接到目標執行個體之所有EBS磁碟區的自動快照。也可以選擇排除根磁碟區,因為使用者資料庫檔案通常儲存在其他磁碟區上。如果您為SQL伺服器檔案分割多個EBS磁碟區以建立單一檔案系統,Amazon EBS也支援使用單一API命令的損毀一致性多磁碟區快照。如需啟用應用程式一致性VSS的EBS快照
下圖顯示使用VSS已啟用 的快照進行伺服器層級備份的架構。
考慮使用VSS啟用 的快照的下列優點:
-
資料庫執行個體的第一個快照會包含完整的資料庫執行個體資料。相同資料庫執行個體的後續快照均採用遞增處理,這表示系統僅會儲存上次執行快照後有所變更的資料。
-
EBS 快照提供 point-in-time復原。
-
如果執行個體是使用 Amazon 加密,EBS或者如果執行個體中的資料庫是使用 加密TDE,則該執行個體或資料庫會自動以相同的加密還原。
-
您可以複製跨區域的自動備份。
-
當您從快照還原磁碟區時,應用程式會立即存取該EBS磁碟區。這表示從快照還原其一或多個基礎EBS磁碟區之後,您可以立即讓SQL伺服器上線。
-
依預設,還原的磁碟區會在應用程式第一次嘗試讀取時,從 Amazon S3 中擷取基礎區塊。這表示從快照還原EBS磁碟區後,效能可能會延遲。音量最終達到標稱性能。不過,您可以使用快速快照還原 (FSR) 快照來避免延遲。
-
您可以使用EBS快照 的生命週期管理
。
考慮使用VSS啟用 的快照的下列限制:
-
您無法使用SQL伺服器執行個體的加密快照執行跨區域 point-in-time復原。
-
您無法建立未加密執行個體的加密快照。
-
您無法還原個別資料庫,因為快照是在EBS磁碟區層級進行拍攝。
-
您無法將執行個體還原至其本身。
-
資料庫執行個體的快照必須使用與資料庫執行個體相同的 AWS Key Management Service (AWS KMS) 金鑰加密。
-
在快照備份過程中,儲存 I/O 會暫停幾秒鐘 (約 10 毫秒)。
SQL 使用 的伺服器備份 AWS Backup
您可以使用 AWS Backup
下圖顯示EC2使用 為 上的SQL伺服器備份和還原解決方案的架構 AWS Backup。
請考慮使用 備份SQL伺服器時具有下列優點 AWS Backup:
-
可自動化備份排程、保留管理和生命週期管理。
-
您可以集中整個組織的備份策略,跨越多個帳戶和 AWS 區域。
-
您可以透過 集中監控備份活動和警示 AWS 服務。
-
可以為災難復原規劃實作跨區域備份。
-
該解決方案可支援跨帳戶備份。
-
可以使用次要備份加密執行安全備份。
-
所有備份都支援使用加密金鑰進行 AWS KMS 加密。
-
解決方案適用於 TDE。
-
可以從 AWS Backup 主控台還原至特定復原點。
-
您可以備份整個SQL伺服器執行個體,其中包含所有SQL伺服器資料庫。
資料庫層級備份
這些方法使用原生 Microsoft SQL Server 備份功能。您可以在SQL伺服器執行個體上備份個別資料庫,並還原個別資料庫。
原生SQL伺服器備份和還原的每個選項也支援下列各項:
-
壓縮和多檔案備份
-
完整、差異和 T 日誌備份
-
TDE-加密的資料庫
SQL 伺服器原生備份和還原至 Amazon S3
SQL Amazon 上的伺服器EC2支援SQL伺服器資料庫的原生備份和還原。您可以備份SQL伺服器資料庫,然後將備份檔案還原至現有資料庫或新的SQL伺服器EC2執行個體、Amazon RDS for SQL Server 或內部部署伺服器。
Storage Gateway 是一種混合雲端儲存服務,可讓內部部署應用程式存取幾乎無限制的雲端儲存。您可以使用 Storage Gateway 將 Microsoft SQL Server 資料庫直接備份至 Amazon S3,減少內部部署儲存體佔用空間,並使用 Amazon S3 進行持久、可擴展且符合成本效益的儲存。
下圖顯示使用 Storage Gateway 和 Amazon S3 的原生備份和還原解決方案的架構。
考慮將原生SQL伺服器備份與 Storage Gateway 搭配使用的下列優點:
-
您可以在EC2執行個體上將儲存閘道對應為伺服器訊息區塊 (SMB) 檔案共用,並將備份傳送至 Amazon S3。
-
備份會直接傳送至 S3 儲存貯體或透過 Storage Gateway 檔案快取。
-
支援多檔案備份。
考慮使用 Storage Gateway 進行原生備份的下列限制:
-
必須為每個單獨的資料庫設定備份和還原。
-
必須管理備份檔案的 Amazon S3 生命週期政策。
如需如何設定 Storage Gateway 的詳細資訊,請參閱 AWS 使用部落格上的文章在 Amazon S3 中儲存SQL伺服器備份 AWS Storage Gateway
SQL 伺服器原生備份至EBS磁碟區
您可以對SQL伺服器資料庫進行原生備份,並將檔案存放在 Amazon EBS磁碟區中。Amazon EBS 是一種高效能區塊儲存服務。EBS 磁碟區是彈性的,支援加密。它們可以分離並連接到EC2執行個體。您可以在相同EBS磁碟區類型或不同EBS磁碟區類型的EC2執行個體上備份SQL伺服器。備份到不同EBS磁碟區的一個優點是節省成本。
下圖顯示 磁碟EBS區的原生備份架構。
考慮使用SQL伺服器原生備份至EBS磁碟區的下列優點:
-
您可以備份SQL伺服器EC2執行個體上的個別資料庫,並還原個別資料庫,而不必還原完整的執行個體。
-
支援多檔案備份。
-
您可以使用 SQL Server Agent 和 SQL Server 任務引擎來排程備份任務。
-
可以透過硬體選擇獲得效能優勢。例如,可以使用 st1 儲存磁碟區來達到更高的輸送量。
考慮使用原生備份至EBS磁碟區的下列限制:
-
您必須手動將備份從EBS磁碟區移至 Amazon S3。
-
對於大型備份,您必須在 Amazon 上管理磁碟空間EC2。
-
在EC2執行個體上,Amazon EBS輸送量可能是瓶頸。
-
在 Amazon 上儲存備份需要額外的儲存體EBS。
SQL Amazon FSx for Windows File Server 的伺服器原生備份
Amazon FSx for Windows File Server
下圖顯示 Windows File SQL Server FSx的 原生伺服器備份架構。
考慮使用 Windows File Server FSx的 原生SQL伺服器備份的下列優點:
-
您可以將SQL伺服器資料庫備份至 Amazon FSx 檔案共用。
-
您可以備份SQL伺服器執行個體上的個別資料庫,並還原個別資料庫,而不必還原完整的執行個體。
-
支援分段備份。
-
您可以使用 SQL Server Agent 和任務引擎來排程備份任務。
-
相較於 Amazon ,執行個體的網路頻寬更高EBS。
考慮使用 Windows File Server FSx的 原生SQL伺服器備份的下列限制:
-
您必須FSx使用 AWS Backup 或 手動將備份從 Amazon S3 移至 Amazon S3 AWS DataSync。
-
大型備份可能需要額外的額外額外負荷才能在 Amazon 上管理磁碟空間FSx。
-
EC2 執行個體網路輸送量可能是瓶頸。
-
在 FSx Windows File Server 的 上儲存備份需要額外的儲存體。
SQL FSx的伺服器備份至 Amazon NetApp ONTAP
使用 FSx的快照ONTAP一律會一致當機,但需要您查詢 (或暫停資料庫的 I/O),才能建立應用程式一致性快照。您可以使用 NetApp SnapCenter (具有特定應用程式的外掛程式的協調工具,包括SQL伺服器) 與 FSxONTAP建立應用程式一致性的快照,並保護、複寫和複製資料庫,無需額外費用。
NetApp SnapCenter
NetApp SnapCenter 是應用程式一致性資料保護的統一平台。 SnapCenter 將快照稱為備份。本指南採用相同的命名慣例。 SnapCenter 提供單一面板,用於管理應用程式一致性備份、還原和複製。您可以為特定資料庫應用程式新增 SnapCenter 外掛程式,以建立應用程式一致性備份。 SnapCenter 適用於 SQL Server 的外掛程式提供下列功能,可簡化資料保護工作流程。
-
完整備份和日誌備份的精細備份和還原選項
-
就地還原和還原至替代位置
如需 的詳細資訊 SnapCenter,請參閱使用 NetApp SnapCenter 搭配 Amazon 保護SQL伺服器工作負載FSx,以在 NetApp ONTAP
備份的成本最佳化
下列選項可協助您降低在 上儲存SQL伺服器備份的成本 AWS。
-
在建立備份檔案期間啟用SQL伺服器壓縮
,並將最小的檔案傳送至儲存體。例如,3:1 壓縮率表示您在磁碟空間上儲存了約 66%。若要在這些資料欄上查詢,您可以使用下列 Transact-SQL 陳述式: SELECT backup_size/compressed_backup_size FROM msdb..backupset;
。 -
對於前往 S3 儲存貯體的備份,請啟用 Amazon S3 Intelligent-Tiering
儲存類別,將儲存成本降低 30%。 -
對於前往FSx適用於 Windows File Server 或FSx適用於 的備份ONTAP,請使用單一可用區域以節省 50% 的成本 (與使用多個可用區域相比)。如需定價資訊,請參閱 Amazon FSx for Windows File Server Pricing
和 Amazon FSx for NetApp ONTAP Pricing 。 -
SQL Server 2022 最有效率的選項是直接備份至 Amazon S3。您可以避免 Storage Gateway ,以節省額外的成本。
備份基準測試結果
本節根據本指南中涵蓋的備份解決方案的效能基準測試結果,比較範例 1 TB 資料庫的成本和效能觀點的下列選項。
-
EC2 執行個體規格 – r5d.8xlarge 搭配 Windows Server 2019 和 SQL Server 2019 開發人員版本
-
資料庫規格 – 1 TB 大小且TDE已停用
測試是以 r5d.8xlarge 執行個體和 1 TB SQL Server 資料庫作為來源來執行。根據最佳實務設定來源系統,來源資料庫包含四個資料檔案 (每個 250 GB) 和一個日誌檔案 (50 GB),分散到不同的 gp3 磁碟區。SQL 伺服器原生BACKUP
命令包括寫入 10 個備份檔案,使用壓縮來最佳化備份效能,並減少透過網路傳送並寫入目標的資料量。在所有測試案例中,儲存效能是瓶頸。
對於這些類型的測試,有各種各樣的可能組態。此測試著重於最佳化效能、成本、可擴展性和實際使用案例。下表顯示為備份目標選項擷取的效能指標。
備份選項 | Level | 執行持續時間 (Appx) | 備份速率 | USD 每月成本* |
---|---|---|---|---|
本機 EBS st1 的原生備份HDD,2 TB | 資料庫 | 00:30:46 分鐘 | 554.7 Mbps | 92.16 美元 |
本機 EBS SSD gp3 的原生備份,2 TB | 資料庫 | 00:22:00 分鐘 | 512 Mbps | 193.84 美元 |
原生備份至 FSx for Windows File Server HDD,2 TB @512 Mbps 輸送量 | 資料庫 | 00:20:58 分鐘 | 814.0 Mbps | 1,146 美元 |
原生備份至 FSx for Windows File Server SSD,2 TB @512 Mbps 輸送量 | 資料庫 | 00:20:00 分鐘 | 814.0 Mbps | 1,326 美元 |
原生備份至具有 2 TB gp3 的 S3 File Gateway m6i.4xlarge (16 v CPU,64 GB) | 資料庫 | 00:23:20 分鐘 | 731.5 Mbps | $470.42 |
EBS VSS 快照 | EBS 磁碟區 | 00:00:02 秒 00:00:53 秒 |
不適用快照 | 51 美元 |
AWS Backup (AMI 備份) | AMI | 00:00:04 秒 00:08:00 分鐘 |
不適用快照 | 75 美元 |
直接原生SQL伺服器備份至 Amazon S3 (SQL Server 2022) | 資料庫 | 00:12:00 分鐘 | 731.5 Mbps | 前 50 TB/月,每 GB $0.023/月 $23.55 |
FSx 適用於 的原生備份 ONTAP(使用 SnapCenter) | 資料庫 | – | – | 440.20 美元 |
上表假設下列事項:
-
不包括資料傳輸和 Amazon S3 成本。
-
儲存體價格包含在執行個體定價中。
-
成本以
us-east-1
區域為基礎。 -
輸送量和IOPS成長 10%,而多個備份的整體變化率為當月 10%。
測試結果顯示最快的選項是 Windows File SQL Server FSx 的原生伺服器資料庫備份。備份至 Storage Gateway 和本機連接磁碟EBS區是更具成本效益的選項,但效能較慢。對於伺服器層級備份 (AMI),我們建議您使用 AWS Backup 以獲得最佳效能、成本和可管理性。
成本最佳化建議
了解在 Amazon 上備份 SQL Server 的可能解決方案,EC2是保護資料、確保您符合備份需求,以及制定從關鍵事件復原的計劃的關鍵。本節中探索的備份和還原SQL伺服器執行個體和資料庫的不同方法,可協助您設計備份和還原策略,以保護資料並滿足組織的需求。
本節涵蓋下列備份選項:
-
壓縮
-
Amazon S3 Intelligent-Tiering
-
單一可用區域
-
備份至 URL
每個選項提供的指南都是高階。如果您想要在您的組織中實作任何這些建議,建議您聯絡帳戶團隊。然後,團隊可以與 Microsoft 專家 SA 互動以領導對話。您也可以透過電子郵件聯絡 optimize-microsoft@amazon.com。
總而言之,我們建議下列事項:
-
如果您使用的是 SQL Server 2022,則備份到 Amazon S3 是最符合成本效益的選項。
-
如果您使用的是 SQL Server 2019 及更早的SQL伺服器版本,請考慮將 Amazon S3 支援的 Storage Gateway 備份為最具成本效益的選項。
壓縮
壓縮的目標是減少每個備份耗用的儲存體,這有利於各種儲存選項。您必須啟用SQL伺服器SQL執行個體
BACKUP DATABASE <database_name> TO DISK WITH COMPRESSION
(ALGORITHM = QAT_DEFLATE)
Amazon S3 Intelligent-Tiering
對於前往 Amazon S3 儲存貯體的備份,您可以將 Amazon S3 Intelligent-Tiering
下圖顯示以 S3 Intelligent-Tiering 為基礎的解決方案架構。
根據預設,寫入 S3 儲存貯體的備份檔案會使用 Standard 層。若要將備份檔案從標準層轉換為 S3 Intelligent-Tiering,您必須建立生命週期規則 。您也可以使用 AWS Management Console來啟用 S3 Intelligent-Tiering。如需詳細資訊,請參閱 文件中的 AWS 開始使用 Amazon S3 Intelligent-Tiering
單一可用區域
若要建立單一可用區域檔案系統,請在建立 FSx for Windows File Server 檔案系統 時選擇單一可用區域選項。Amazon FSx也會每天使用 Windows Volume Shadow Copy Service 來取得檔案系統的高度耐用備份 (存放在 Amazon S3 中),並可讓您隨時進行其他備份。請記住使用單一可用區域的一些問題。例如,如果佈建SMB檔案系統的受影響可用區域一次中斷數小時,則無法存取檔案共用。如果您需要存取資料,則必須從來源區域中可用可用區域中的備份還原資料。如需詳細資訊,請參閱本指南的使用單一可用區域一節。
備份至 URL
對於 SQL Server 2022,備份至 URL