首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

SQL Server 2005 資料庫自動備份與交易記錄截斷完整指南

     編輯:關於SqlServer

在 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 選項已被移除。若資料庫採用「完整復原模式」,必須定期執行交易記錄備份才能釋放記錄檔空間;若不需時間點還原,可將復原模式切換為「簡單模式」,由系統在檢查點自動截斷記錄。

建立自動完整備份作業:步驟詳解

  1. 開啟 SQL Server Management Studio (SSMS),連線至執行個體。
  2. 展開左側物件總管的 SQL Server Agent 節點,若服務未啟動,請右鍵選擇「啟動」。
  3. 右鍵點選 作業 → 新增作業。
  4. 在 一般 頁面輸入作業名稱(如「每日完整備份」)、擁有者、類別與描述。
  5. 切換至 步驟 頁面,點選 新增:
    • 步驟名稱:備份資料庫
    • 類型:Transact-SQL 指令碼 (T-SQL)
    • 資料庫:master
    • 命令:貼上下列指令碼,並依實際環境修改備份路徑與資料庫名稱:
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] 為目標資料庫
  1. 切換至 排程 頁面,點選 新增,依需求設定頻率(每日、每週)、發生頻率(每天一次)、每日頻率(指定時間),確定儲存。
  2. 回到作業精靈,點選 確定 完成建立。

進階建議

  • 備份壓縮:SQL Server 2008 企業版以上支援 WITH COMPRESSION,可大幅減少備份檔體積與 I/O 時間。
  • 差異/記錄備份:搭配差異備份(每日)與交易記錄備份(每 15-60 分鐘),可縮短復原時間目標 (RTO) 與復原點目標 (RPO)。
  • 驗證與清理:在維護計畫中加入「驗證備份完整性」與「清除舊備份檔」步驟,確保可用性並避免磁碟爆滿。
  • 監控通知:於作業屬性的 通知 頁面設定失敗時寄送電子郵件給 DBA。

常見問題排查

  • 作業不執行:確認 SQL Server Agent 服務為「自動」啟動且正在執行中。
  • 路徑權限不足:執行 SQL Server 服務的帳戶必須對備份資料夾具備寫入權限。
  • 備份檔過大:啟用壓縮、排除唯讀檔案群組、或實施檔案群組備份策略。

透過上述設定,即可建立可靠、自動化的 SQL Server 2005 資料庫備份機制,保障資料安全與業務連續性。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved