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

備份資料庫Transact-SQL 指令碼 (T-SQL)masterDECLARE @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:不格式化媒體,保留現有標頭每日午夜備份週期性 → 頻率:每日 → 每天執行一次發生一次 → 時間:00:00:00





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
RESTORE VERIFYONLY)