Backup

複製前後的大型數據庫備份文件完整性檢查

  • January 20, 2020

我試圖使用 robocopy 將大型數據庫備份文件(每個大約 2TB)複製到不同的區域。但是我注意到使用開關/Z時速度非常慢。所以我刪除了這個開關,我的副本現在更快了。但現在的挑戰是,

  1. 如何驗證複製文件的一致性。
  2. 如果文件已經存在於目標位置,那麼跳過文件的最佳方法是什麼。
  3. 我曾嘗試使用 powershell get-filehash 命令來驗證文件的一致性,但它在大文件上速度太慢,尤其是在位於不同區域的文件上。

我目前的命令語法,

robocopy source_directory destination_directory 文件名 /R:3 /W:10 /LOG+:log_file_location

有什麼最好的方法來解決這個問題?

我想到了兩種驗證一致性的方法:

  • 對副本的每個“結束”執行校驗和(您已經嘗試過)
  • 複製備份文件後恢復數據庫(如果這是生產數據,您需要獲得適當的許可,因為驗證這些備份可能會被視為生產工作負載)。您可以通過多種方式自動恢復和執行 a dbcc checkdb,以不同程度的細節(該RESTORE VERIFYONLY方法可能對您來說足夠,也可能不夠)

robocopy您可以使用的鏡像功能跳過重新復製文件。我使用以下內容將我的備份複製到另一個位置,抑制所有輸出:

robocopy SOURCE DESTINATION /M /COPY:DAT /E /DCOPY:DAT /MT:128 /nfl /ndl /njh /np /ns /nc /njs

目標上已經存在的文件不會被重新複製,目錄結構將保持不變。

引用自:https://dba.stackexchange.com/questions/257803