Sql-Server

將 .bak 數據庫文件從備份位置移動到另一台伺服器

  • December 23, 2021

我的任務是將 .bak 文件從實時數據庫中,從其備份位置移動到另一台伺服器,然後將其重新導入測試環境。如果我複制並粘貼文件,它會很好地複制。如果我使用 robocopy、Copy-Item 或 7z 壓縮然後複製,它會導入錯誤。更糟糕的是,它是實時數據庫所在的 2003 伺服器,因此將其備份到網路位置已被證明是困難的。只是想知道是否有更好的解決方案,因為我每天都需要這樣做?提前致謝..

如果我複制並粘貼文件,它會很好地複制。如果我使用 robocopy、Copy-Item 或 7z 壓縮然後複製,它會導入錯誤。. . 它是實時數據庫所在的 2003 伺服器

那很不好。您正在執行古老且不受支持的軟體,並且您可能遇到儲存問題或其他問題,並且應該將該環境視為可能非常糟糕。在那個年齡,你不應該試圖解決任何問題。

您應該制定計劃將生產數據庫遷移到穩定且可支持的環境。不要試圖解決症狀。

如果測試環境伺服器有權訪問生產數據庫備份,則無需複制它,因為您可以直接從測試 SQL Server 實例恢復它。

如果測試環境是隔離的,那麼我不知道您如何進行複制和粘貼,除非您使用某種類型的遠端連接軟體。

我認為 ROBOCOPY 不能在您的 Windows Server 2003 版本上進行壓縮。PowerShell 的 Copy-Item 也不能壓縮。

因此,要麼 7zip 無法正確壓縮,要麼在復製文件時出現某種類型的網路問題導致 ZIP 文件損壞,或者測試環境 IO 子系統存在磁碟 IO 問題。

您可以嘗試不同的壓縮軟體,例如 Windows 附帶的預設軟體(右鍵點擊、發送到、壓縮文件),或您選擇的其他軟體。

SFTP 也可能是您的選擇。

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