Sql-Server-2008

使用備用數據庫將備份從 SQL 2008 還原到 2008R2

  • April 18, 2013

我們希望將我們的生產數據庫複製到另一個實例,以便在執行報告時,它不會使應用程序減慢到幾乎無法使用的程度。我在 SQL Server 複製方面取得的成功有限,但由於應用程序不時擺弄數據模型,這種方法並不合適。

當我們與供應商交談時(他告訴我們是的,可以複製),他透露他們的其他客戶使用日誌傳送,這是我目前的方向。我唯一的問題是伺服器執行 SQL 2008,而目標伺服器執行 2008R2。當我嘗試在待機狀態下恢復備份時,它的表面是平坦的,但如果我使用另一個相同版本的實例,該過程會完美執行。

有沒有辦法用不同的 SQL Server 版本來做到這一點,還是我堅持目前的安排?

謝謝

從技術上講,您可以編寫一個更新腳本,將新數據從生產系統複製到測試系統,但這不僅會很複雜,而且還會遇到難以解決的問題:

  • 複製期間,BOTH DB 上的性能將受到影響。
  • 新行很容易檢測到,但刪除/更新的行不是。如果應用程序尚未實現某種數據版本化,您將不得不自己實現它或每次都複製所有表的內容。
  • 通過將更新機制包裝在一個巨大的事務中(在雙方),很難在目標數據庫中保持全域一致的狀態。我讓你猜猜那會是什麼後果:P

或者,您也可以修改源應用程序,使其同時寫入兩個數據庫(我在類似情況下使用了該解決方案)。

坦率地說,我看不到任何(合理的)解決方案比確保兩個數據庫都使用相同版本的 SQL 伺服器更簡單。

引用自:https://serverfault.com/questions/500480