2026年5月28日 星期四

SQL Server 2025中關於備份的新功能

 

作者:楊先民  
精誠資訊/恆逸教育訓練中心資深講師


※網路引用請註明完整出處


SQL Server 2025,在管理方面的新功能部分,將要介紹備份還原的功能,本期將分上下兩集,一集介紹備份的新功能,第二集則是介紹還原的功能。

隨著數據量的爆炸式增長與企業對「零停機」目標的追求,SQL Server 2025 在備份與還原技術上進行了革命性的升級。這次更新不僅僅是小修小補,而是針對雲端原生環境、高可用性(HA)架構以及高性能存儲進行了深度最佳化。

以下將針對 SQL Server 2025 的核心備份技術進行詳細的解析,並提供一個完整的範例說明,涵蓋 ZSTD 壓縮、次要副本完整備份、以及不可變儲存(Immutable Storage) 的實戰應用。


第一部分:SQL Server 2025 備份技術核心演進

在進入範例之前,我們必須理解 2025 版本的四大技術支柱:

1.       ZSTD (Zstandard) 壓縮演算法: 過去 20 年,SQL Server 一直使用 MS_XPRESSSQL Server 2025 引入了由 Facebook 開發的 ZSTD 演算法。它提供了更高的壓縮比(通常比傳統壓縮多出 20-30%),且 CPU 負擔更低,這樣對於交易比較耗 CPU SQL Server而言,將是一大福音。

2.       次要副本完整備份(Backups on Secondary Replicas: 在 SQL Server 2022 之前,次要副本僅支援「僅限複製(Copy-only)」備份。2025 版本打破限制,現在可以在 Always On 可用性群組的次要副本上執行完整備份(Full)與差異備份(Differential,徹底釋放主要伺服器的資源。

3.       不可變物體儲存(Immutable Blob Storage: 針對勒索軟體(Ransomware)威脅,2025 支援備份至受策略保護的不可變儲存。一旦備份完成,在指定的保留期內,任何人都(包括管理者)無法刪除或修改備份檔。

4.       中繼資料豐富的快照備份(Metadata-rich Snapshots: 結合 sp_invoke_external_rest_endpointDBA 可以直接從 T-SQL 觸發硬體陣列快照,並將資料庫名稱、時間戳記等中繼資料直接寫入儲存設備標籤,實現備份與存儲設備的深度整合。

實戰範例 — 跨雲混合架構下的現代備份策略

1. 案例背景與需求

假設「恆一科技(UCOM-Tech)」擁有一座 5TB 的核心商務資料庫,運行於 SQL Server 2025 企業版。其需求如下:

效能減負:主要伺服器必須保留 100% 的效能給交易處理。

法規遵循:備份必須存放於異地雲端(S3-compatible),且需具備 30 天防篡改功能。

還原速度:需在 30 分鐘內完成異地還原測試。



2. 實作步驟一:配置 ZSTD 壓縮與 S3 儲存

首先,我們利用 SQL Server 2025 新增的 ZSTD 演算法來進行高效壓縮。

T-SQL 範例程式:

-- 建立 S3 認證憑證

CREATE CREDENTIAL [s3://my-backup-bucket.s3.amazonaws.com]

WITH IDENTITY = 'S3 Access Key',

SECRET = 'Your-Secret-Key';

 

-- 執行 ZSTD 高壓縮備份

BACKUP DATABASE [SalesDB]

TO URL = 's3://my-backup-bucket.s3.amazonaws.com/SalesDB_20260513.bak'

WITH

    COMPRESSION (ALGORITHM = ZSTD, LEVEL = MEDIUM), -- 使用新演算法

    STATS = 5,

    FORMAT,

    BLOCKSIZE = 65536,

    MAXTRANSFERSIZE = 4194304;

技術解析: 在此步驟中,ALGORITHM = ZSTD 是關鍵。相較於過去,MEDIUM 模式可以在不犧牲備份速度的前提下,顯著縮小文件體積,這對於傳輸至雲端(URL)的場景尤為重要,能節省頻寬並降低儲存成本。



3. 實作步驟二:在 Always On 次要副本上執行備份

傳統上,備份會占用大量 IO 導致主要節點延遲增長。SQL Server 2025 允許我們將備份壓力徹底轉移。

操作邏輯

1.       在可用性群組(AG)屬性中,將備份喜好設定改為「偏好次要副本」。

2.       在次要副本節點上執行常規備份指令。

T-SQL 範例:

-- 在次要副本上執行的腳本

 

IF (sys.fn_hadr_backup_is_preferred_replica('SalesDB') = 1)

BEGIN

    BACKUP DATABASE [SalesDB]

    TO DISK = 'N:\Backups\SalesDB_Full.bak'

    WITH COMPRESSION (ALGORITHM = ZSTD), STATS = 10;

END


優勢
: 這不再是「Copy-Only」!這是一個真正的完整備份。這意味著還原鏈可以在次要副本上完整建立,主要副本完全不感知備份任務的運行。


4. 實作步驟三:啟用不可變備份保護(Immutable Storage
為了應對勒索病毒,我們將備份寫入具備「寫一次讀多次(WORM)」特性的雲端儲存區。

技術細節: 在 SQL Server 2025 中,當備份至 Azure Blob 或支援 Object Lock S3 時,系統會自動處理傳輸層的鎖定請求。即使攻擊者獲取了 sysadmin 權限並試圖執行 xp_cmdshell 刪除雲端檔案,也會因為儲存層的硬性保護而失敗。


5. 實作步驟四:進階還原技術瞬間

還原與加速資料庫還原 (ADR)

SQL Server 2025 預設優化了 ADR (Accelerated Database Recovery)。在還原過程中,即使有未完成的大型交易,資料庫也能在幾秒鐘內變為可用狀態。

還原範例:

-- 從雲端執行還原

RESTORE DATABASE [SalesDB_Dev]

FROM URL = 's3://my-backup-bucket.s3.amazonaws.com/SalesDB_20260513.bak'

WITH

    MOVE 'SalesDB_Data' TO 'D:\Data\SalesDB_Dev.mdf',

    MOVE 'SalesDB_Log' TO 'L:\Log\SalesDB_Dev.ldf',

    REPLACE,

    RECOVERY; -- 配合 ADR,恢復速度提升 10 倍以上


第三部分:技術效益深度分析

1. 儲存成本的革命性最佳化

透過 ZSTD 壓縮,根據微軟實驗室的數據,平均壓縮率提升了 30%。對於一家擁有 100TB 備份數據的企業,這意味著每年可以節省數萬美元的雲端儲存費用。同時,由於壓縮後的文件更小,備份至雲端的「備份視窗(Backup Window)」縮短了約 45%


2. RTO RPO 的縮減

RTO(復原時間目標):受惠於 SQL Server 2025 的平行還原優化與 ADR 技術,即使是數 TB 的資料庫,其 Redo/Undo 階段的耗時也大幅降低。

RPO(復原點目標):由於可以在多個次要副本同時執行備份,企業可以更頻繁地執行交易紀錄備份(例如每 1 分鐘一次),而不用擔心影響生產效能。


3. 安全性的維度提升

不可變儲存與 SQL Server Ledger(帳本)技術結合,確保了從數據產生、交易紀錄到備份存檔的「全鏈路不可篡改性」。這在金融業與醫療業的合規檢查中,是極大的加分項。




第四部分:DBA 的維護建議

雖然 SQL Server 2025 的技術非常強大,但在實施時仍需注意以下幾點:

1.       測試壓縮等級ZSTD 提供多種級別。HIGH 模式雖然壓縮率最高,但會大幅增加 CPU 消耗。建議在離峰時間測試 MEDIUM HIGH 的平衡點。

2.       監控次要副本的延遲:雖然備份在次要副本執行,但如果備份占用了過多 IO 帶寬,可能會導致 AG 數據同步延遲。建議配合 SQL Server 2025 增強型的 Resource Governor,限制備份進程的 IO 上限。

3.       確認雲端端點兼容性:若使用非 Azure S3 儲存(如 MinIO Pure Storage),請確保其支援 SQL Server 2025 要求的 REST API 版本。



結語

SQL Server 2025 的備份還原技術標誌著資料庫管理從「手動防禦」轉向「智慧防護」與「效能自適應」。ZSTD 壓縮解決了空間與頻寬痛點,次要副本備份解決了生產效能痛點,而不可變儲存則解決了安全痛點。

對於現代 DBA 而言,掌握這些新語法與架構思維,將能為企業構建一套既省錢、又極速、且絕對安全的數據保險箱。

0 意見:

張貼留言