Sql-Server

我應該使用分離/複製/附加還是通過備份-恢復-重播來遷移數據?

  • May 30, 2012

我即將著手將數據庫文件遷移到新的 SAN(從舊的 SAN)abd 我有幾個選項可以實現這一點。(1) 有人建議我研究將完整備份還原到伺服器上新數據庫的工作量。但是,(2)我最初的計劃是通過分離然後重新附加數據庫將文件從舊 SAN 複製到新 SAN。

我的直覺告訴我,我寧願分離、複製和附加,因為它看起來更安全,但這可能只是我的幼稚。我不想在重命名數據庫的過程中錯過交易或以某種方式“破壞”。

我想我的問題是我是否有理由懷疑 BACKUP-RESTORE-Replay 選項以及該選項的其他優點或風險是什麼?

就個人而言,我會避免使用分離/附加機制。尤其是在 SQL Server 2000 中,我只是不相信您會始終恢復伺服器並能夠附加這些文件。我聽過很多故事,這並沒有完全發生——僅僅因為你有一個 B 計劃並不會自動使 A 計劃變得明智。

使用備份/恢復,您不必冒險執行 B 計劃。如果備份失敗,您的數據庫仍處於執行狀態。如果還原失敗,您的舊數據庫仍在執行。在這兩種情況下,您都可以恢復原始數據庫的操作並稍後重新訪問計劃。除了在這裡停止 SQL Server 和/或分離的額外安全性之外,這還意味著您可以測試 hoo-has 的備份/恢復方法(假設您目前有空間來執行備份和另一個實例來測試恢復)。如果不分離數據庫或停止 SQL Server,就無法真正測試分離方法,而且在適當的維護視窗之外很難做到這一點。最後,使用其他方法,在分離或關閉 SQL Server 之前,您甚至無法開始復製文件。

與從 SQL-Server 下拉出驅動器方法相比的另一個好處:通過備份/恢復,您可以將各種文件移動到與以前不同的驅動器號。例如,當我們遷移到新的 SAN 時,我們能夠擁有更多卷,因此我們可以將 tempdb 移動到 T:\(以前不存在),將一些數據和日誌文件移動到新的驅動器號等。以更好地利用我們擁有的所有新 I/O 容量。如果您只是關閉 SQL Server,然後換出磁碟,則需要具有相同的驅動器號和相同數量的捲。

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