Sql-Server

可以備份 SQL Server 2012 數據庫並在 2008 年恢復嗎?

  • November 17, 2013

我想備份 SQL 2012 並在 2008 上恢復,這可能嗎?

在此處輸入圖像描述

我有這個選項,我無法在 DB 上更改。謝謝

不,不可能。兼容性級別談論 SQL 的行為方式——而不是數據庫內部格式。

我建議你開始標準化你的伺服器。該要求指出了一些極具爭議的決定——要麼執行過時的儲備機器,要麼在沒有計劃的情況下升級生產機器。

SQL Server 不允許降級到舊版本

您可以在 2012 實例中使用任務 -> 導出嚮導,創建一個空數據庫並在 2008 實例中使用導入嚮導,但這可能是一個理想的解決方案,因為導出/導入嚮導不會恢復所有對象(它會復製表但不是索引,鍵等)

有關更多可能的選項和解釋,您可以參考這篇文章: 為什麼我不能將數據庫還原到舊版本的 SQL Server?

文章中建議的選項是:

  • 將舊版本的 SQL Server 升級到與新 SQL Server 相同的級別。

  • 從較新的數據庫中編寫對像腳本,然後使用 bcp 程序從較新的數據庫中提取數據並將其導入舊數據庫。

  • 使用 SQL Server 導入和導出嚮導建構一個 SSIS 包來移動數據(它只會移動數據)。

  • 建構自定義 SSIS 包來進行數據移動。

  • 使用複制將數據從較新的數據庫移動到較舊的數據庫。

  • 使用其他形式的腳本(例如 PowerShell)來保持數據庫同步。

另一種選擇是使用第三方工具,ApexSQL DiffA​​pexSQL Data Diff

您可以在本文中閱讀該過程的詳細說明:將SQL Server 數據庫備份恢復到舊版本的 SQL Server

其他第三方工具也可能有所幫助

希望這可以幫助

免責聲明:我作為支持工程師在 ApexSQL 工作

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