1. 簡介離線備份
/mssql_backup_13.png)
-
離線備份的目的
本標準作業程序(SOP)旨在提供一套標準化、可重複執行的 SQL Server 資料庫離線備份操作指南。制定此文件的核心目標是為了確保資料庫維護作業的一致性與可靠性、降低因人為疏失可能導致的風險,並藉由清晰的流程指引提升整體作業效率與安全性。 -
適用範圍
本程序適用於所有需要執行 SQL Server 資料庫離線備份的技術維運人員,並規範與此相關的所有操作活動。 -
名詞定義
/mssql_backup_14.png)
離線備份 (
Offline Backup): 一種資料庫備份模式。其核心特徵是在備份作業執行的期間,目標資料庫對於所有使用者及應用程式系統而言,必須處於暫停服務且無法存取的「離線」狀態。 -
作業前準備
在開始執行本SOP所列程序前,操作人員必須確認以下先決條件皆已滿足:-
權限要求:
- 具備目標
Windows伺服器的 系統管理員(Administrator) 權限,以利執行服務的啟動與停止。 - 具備
sysadmin伺服器角色或目標資料庫的db_owner資料庫角色權限。
- 具備目標
-
工具要求:
- 操作主機上必須已安裝
SQL Server Management Studio (SSMS),並能成功連線至目標資料庫伺服器。
- 操作主機上必須已安裝
-
溝通協調:
- 在執行任何離線操作前,必須 與受影響的系統使用者或應用程式負責人進行充分溝通。
- 所有離線備份作業應安排在預先規劃的系統維護時間內進行,以最大限度地降低對正常營運的衝擊。
-
2. 離線備份作業程序
離線備份的核心概念是在複製資料庫實體檔案前,確保沒有任何交易正在進行,以保障檔案的一致性與完整性。本章節將詳細介紹三種不同的方法,用以將資料庫設定為離線狀態,每種方法皆有其特定的適用情境與影響範圍。
/mssql_backup_15.png)
-
方法一:透過「開啟/關閉服務」
此方法是透過停止整個SQL Server服務實例來達成資料庫的離線狀態。此操作的影響範圍是 全域性 的,一旦執行,該服務實例下的所有資料庫都將同時暫停服務。
此方法適用於需要對整個SQL Server實例進行全面維護或備份的情境,操作直接但影響範圍最廣。操作流程
SQL2022服務啟動中,試著將 D:\db\sql2022\demodb.mdf、D:\db\sql2022\demodb.ldf 作複製拷貝,結果會失敗。- 在控制台/系統管理工具/服務中找到資料庫的服務,執行停止/啟動。
關閉資料庫服務後,代表任何人都無法使用資料庫了,較暴力的做法。
再將 D:\db\sql2022\demodb.mdf、D:\db\sql2022\demodb.ldf 作複製拷貝。
缺點
若有多個資料庫,只為了備份其中一個資料庫,但此方法,會讓所有資料庫都不能使用(當資料庫服務停用中)。 -
方法二:透過「缷離/附加資料庫」
此方法是將單一特定資料庫從SQL Server實例中「缷離」(Detach),使其資料與記錄檔完全脫離伺服器管理。此方法具備高度針對性,僅影響目標資料庫,且能讓資料庫檔案在備份後輕鬆地遷移至其他伺服器。-
缷離
demodb > 工作 > 卸離
/mssql_backup_19.png)
卸除後將資料卸除與做更新
/mssql_backup_20.png)
卸除後,
demodb資料庫會消失。
/mssql_backup_20_1.png)
操作: 執行複製拷貝。
-
附加資料庫
- 資料庫 > 附加
/mssql_backup_23.png)
- 加入資料庫主檔 即可
/mssql_backup_24.png)
/mssql_backup_25.png)
- 在按下確定
/mssql_backup_26.png)
/mssql_backup_27.png)
- 資料庫 > 附加
-
-
方法三:透過「離線/線上資料庫」
此方法是透過SSMS將特定資料庫的狀態直接設定為「離線」(Offline)。此操作僅影響目標資料庫,過程最為簡便,且資料庫檔案會保留在原位,伺服器實例本身持續運行。備份資料庫時建議使用的方式。- 離線
-
告訴資料庫在離線狀態,方法: demodb資料庫 > 工作 > 離線工作
/mssql_backup_28.png)
-
卸除所有使用者
/mssql_backup_29.png)
-
狀態改變
/mssql_backup_30.png)
/mssql_backup_31.png)
/mssql_backup_32.png)
-
操作: 執行複製拷貝。
-
- 離線
3. 各方法比較與適用情境
下表總結了前述三種離線方法的特性差異與建議的應用場景:
| 方法 | 影響範圍與特性 | 建議適用情境 |
|---|---|---|
| 開啟/關閉服務 | 服務層級: 中斷整個 SQL Server 實例,所有資料庫皆無法存取。特性: 影響範圍最廣,操作直接。 | - 伺服器硬體升級或系統層級的維護。 - 需要備份實例下的多個或所有資料庫。 - 套用 SQL Server Service Pack 或修補程式。 |
| 缷離/附加資料庫 | 資料庫層級: 僅影響目標資料庫,其他資料庫正常運作。 特性: 資料庫檔案與伺服器完全脫離關係,具備高度可攜性,便於檔案移動與重新命名。 | - 資料庫遷移至另一台伺服器。 - 將資料庫檔案移動至不同的儲存裝置。 - 當資料庫結構或檔案路徑需要變更時。 - 單一資料庫的封存備份。 |
| 離線/線上資料庫 | 資料庫層級: 僅影響目標資料庫,其他資料庫正常運作。 特性: 操作最為快速簡便,資料庫定義與檔案位置保留於伺服器實例中,僅變更其存取狀態。 | - 快速對單一資料庫進行檔案層級的備份。 - 執行不需移動檔案的短期維護作業。 - 執行檔案層級的病毒掃描或完整性檢查。 - 對業務衝擊要求最小化的臨時性離線操作。 |
4. 總結分析
選擇最合適的離線策略至關重要。操作人員應根據具體的維護需求、預期的停機時間以及對整體業務的影響程度,從上述三種方法中選擇最恰當的一種來執行。
任何操作前,均須確保已獲得授權並完成必要的溝通協調,以符合維運規範。