首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

SQL Server 2005 自動備份資料庫圖文教程:維護計畫與 T-SQL 作業完整設定

     編輯:MySQL 資料庫相關知識

SQL Server 2005 透過 SQL Server Agent 作業排程實現資料庫自動備份。本文提供完整圖文步驟:啟用 Agent、建立備份作業、撰寫動態檔名 T-SQL、設定排程頻率,並附上實戰範本與關鍵設定截圖說明。

一、前置準備:啟用 SQL Server Agent

  1. 開啟 SQL Server Management Studio
  2. 展開左側伺服器節點,右鍵 SQL Server Agent → 啟動
  3. 建議將啟動類型設為 自動,確保系統重啟後自動運行

SQL Server Agent 啟動

二、建立備份作業

  1. 右鍵 作業 → 新增作業
  2. 一般 頁籤:輸入作業名稱(如「每日資料庫完整備份」)
  3. 步驟 頁籤 → 新增:
    • 步驟名稱:備份資料庫
    • 類型:Transact-SQL 指令碼 (T-SQL)
    • 資料庫:master
    • 命令:貼上下方 T-SQL 腳本

三、動態檔名備份 T-SQL 腳本

DECLARE @DBPATH NVARCHAR(200)
SET @DBPATH = CONVERT(VARCHAR, GETDATE(), 120)  -- yyyy-mm-dd hh:mi:ss
SET @DBPATH = REPLACE(@DBPATH, '-', '')
SET @DBPATH = REPLACE(@DBPATH, ' ', '')
SET @DBPATH = REPLACE(@DBPATH, ':', '')
SET @DBPATH = 'D:\DBBACKUP\' + @DBPATH + '.bak'

BACKUP DATABASE [資料庫名稱] TO DISK = @DBPATH
WITH NOINIT, NOUNLOAD, NOSKIP, STATS = 10, NOFORMAT

參數說明:

  • NOINIT:附加到現有備份集(建議改 INIT 覆寫)
  • STATS = 10:每 10% 顯示進度
  • NOFORMAT:不格式化媒體,保留現有標頭

四、設定排程

  1. 排程 頁籤 → 新增
  2. 排程名稱:每日午夜備份
  3. 類型:週期性 → 頻率:每日 → 每天執行一次
  4. 每日頻率:發生一次 → 時間:00:00:00
  5. 持續時間:設定生效起迄日期

排程設定

五、完整圖文流程補充

新增作業

一般頁籤

步驟頁籤

步驟詳細設定

排程詳細設定

六、實戰範本(含路徑與資料庫名稱參數化)

DECLARE @DataStr NVARCHAR(200)
SET @DataStr = CONVERT(NVARCHAR(19), GETDATE(), 120)
SET @DataStr = REPLACE(@DataStr, ':', '_')
SET @DataStr = REPLACE(@DataStr, ' ', '_')
SET @DataStr = REPLACE(@DataStr, '-', '_')
SET @DataStr = 'E:\DataBaseBak\370501_#_#_' + @DataStr + '.bak'

BACKUP DATABASE [370501] TO DISK = @DataStr
WITH NOINIT, NOUNLOAD, NOSKIP, STATS = 10, NOFORMAT

生成檔名範例:370501_#_#_2010_08_05_15_23_01.bak

七、最佳實踐建議

  • 備份路徑使用專屬磁碟,避免與資料/記錄檔爭奪 I/O
  • 定期驗證備份檔可還原性(RESTORE VERIFYONLY)
  • 結合差異備份/記錄備份縮短 RPO
  • 監控作業歷程記錄,設定失敗警報通知
  • 清理舊備份檔策略(保留 N 天/份)
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved