在 SQL Server 2005 環境中,妥善管理資料庫備份與交易記錄檔大小是資料庫管理員的核心職責。本文將詳細說明如何透過 SQL Server Agent 設定自動完整備份,並釐清舊版指令與新版機制的差異。
早期版本(SQL Server 2000)常使用 DUMP TRANSACTION 資料庫名 WITH NO_LOG 或 BACKUP LOG 資料庫名 WITH NO_LOG 來截斷交易記錄。但在 SQL Server 2005 之後,WITH NO_LOG / TRUNCATE_ONLY 選項已被移除。若資料庫採用「完整復原模式」,必須定期執行交易記錄備份才能釋放記錄檔空間;若不需時間點還原,可將復原模式切換為「簡單模式」,由系統在檢查點自動截斷記錄。
DECLARE @strPath NVARCHAR(200);
SET @strPath = CONVERT(NVARCHAR(19), GETDATE(), 120); -- 格式:yyyy-mm-dd hh:mi:ss
SET @strPath = REPLACE(@strPath, ':', '.'); -- 將冒號替換為點,適合檔名
SET @strPath = N'D:\SQL2005\Back\' + @strPath + N'.bak'; -- ★修改為您的備份資料夾
BACKUP DATABASE [YourDB] TO DISK = @strPath
WITH NOINIT, NOUNLOAD, NOSKIP, STATS = 10, NOFORMAT; -- ★修改 [YourDB] 為目標資料庫
WITH COMPRESSION,可大幅減少備份檔體積與 I/O 時間。透過上述設定,即可建立可靠、自動化的 SQL Server 2005 資料庫備份機制,保障資料安全與業務連續性。