Backup
複製前後的大型數據庫備份文件完整性檢查
我試圖使用 robocopy 將大型數據庫備份文件(每個大約 2TB)複製到不同的區域。但是我注意到使用開關/Z時速度非常慢。所以我刪除了這個開關,我的副本現在更快了。但現在的挑戰是,
- 如何驗證複製文件的一致性。
- 如果文件已經存在於目標位置,那麼跳過文件的最佳方法是什麼。
- 我曾嘗試使用 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
目標上已經存在的文件不會被重新複製,目錄結構將保持不變。