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

SQL Server 2000 備份還原儲存程序與遠端備份自動化

     編輯:關於SqlServer

提供三個核心儲存程序:usp_backup (備份)、usp_restore (還原)、usp_copy (遠端備份複製),支援動態路徑解析、檔案存在性檢查、多檔案群組還原與網路磁碟機對應。

核心功能亮點

  • usp_backup:動態建構 BACKUP DATABASE ... TO DISK 指令,驗證資料庫存在與路徑格式,回傳狀態旗標。
  • fn_GetFilePath:標量函數,從完整檔案路徑解析目錄路徑 (利用 REVERSE + CHARINDEX)。
  • usp_restore:
    • 驗證備份檔存在 (xp_cmdshell dir)。
    • 讀取 RESTORE FILELISTONLY 取得邏輯/實體檔名。
    • 檢查原資料/記錄檔路徑是否存在,決定還原目標路徑 (原路徑或 master 資料庫路徑)。
    • 動態建構 WITH MOVE 子句處理多檔案群組。
    • 殺掉目標資料庫現有連線 (KILL spid)。
    • 執行 RESTORE DATABASE ... WITH REPLACE。
  • usp_copy:排程遠端備份範例,透過 xp_cmdshell net use 對應網路磁碟機 (Z:),備份至遠端共享,保留 6 天檔案自動清理,完成後刪除對應。

關鍵技術點

  • 大量使用動態 SQL (sp_executesql) 處理變數化路徑與資料庫名稱。
  • 臨時表 (#tem) 與表變數 (@tem) 搭配儲存檔案清單與路徑運算。
  • xp_cmdshell 執行 OS 指令 (dir, net use, del) 需啟用「外部應用配置器」。
  • 錯誤處理透過 @flag 輸出參數回傳 0/1 狀態。

部署建議: 在 SQL Agent 作業中排程執行 usp_backup 與 usp_copy,定期驗證 usp_restore 可用性。

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