2017-04-22 366 views
2

我越來越想恢復的SQL Server 2014在SQL Server 2016的備份與兼容模式時出現錯誤110錯誤嘗試的SQL Server 2014恢復的SQL Server 2016的備份與兼容模式時,110

消息3169,級別16,狀態1,行38
數據庫在運行版本13.00.4001的服務器上備份。該版本與運行版本12.00.5532的此服務器不兼容。可以在支持備份的服務器上恢復數據庫,也可以使用與此服務器兼容的備份。

消息3013,級別16,狀態1,行38
RESTORE DATABASE正在異常終止。
執行批處理期間遇到錯誤。退出。

升級到SQL Server 2016不是此解決方案的選項。

+0

@downvoter我不認爲要求不可能值得贊成。這對其他人來說仍然是有用的參考。 – Caltor

+0

@Caltor:done - 作爲回覆發佈 –

回答

0

這是不可能的。

需要的SQL Server 2016(或更高版本)的實例來恢復與SQL Server的備份中2016

數據庫的兼容版本是不相關的恢復所需的SQL Server版本數據庫的備份。 SQL Server支持向後兼容性,因此您可以在SQL Server 2016上恢復從SQL Server 2014開始的備份,但反過來並不是從未受到支持。沒有選項或配置將允許你繞過這個限制。

+0

我收到了關於RedGate SQLBackup Tool的建議,以瞭解這種情況http://www.red-gate.com/products/dba/sql-backup/support/。你有什麼看法,你有沒有關於這個工具的經驗或反饋? – AbrandaoL

+0

@AlexandreBrandãoLustosa:他們提供14天的免費試用 - 爲什麼不下載一個副本並嘗試一下呢? –

+1

@AlexandreBrandãoLustosa根據我的經驗,使用SQL Server的備份工具仍在內部使用SQL Server的'BACKUP'和'RESTORE'命令。他們只是將文件發送到虛擬備份設備接口(VDI)(即使用'BACKUP DATABASE [MyDatabase] TO VIRTUAL_DEVICE = ....'。由於您仍然在使用SQL Server的'RESTORE'命令,因此我想象你會有完全相同的問題,除非他們聲稱要修改數據庫或文件中的數據庫版本,這會讓我覺得這是一個非常危險的功能。 –

0

如何設置鏈接服務器或某種導出/導入作爲解決方法。

+0

I will consider this選項,謝謝! – AbrandaoL

3

CAN NOT不斷從SQL Server(例如2016)的版本恢復備份到服務器與舊版本(例如SQL服務器2014) - 有沒有記錄(或無證)的方式,沒有方法,沒有解決方法,沒有黑客來實現這一點 - 這是不可能的。

內部數據庫結構太不同了,無法提供「向後」兼容性路徑。擺弄兼容級別也無濟於事,因爲這不會真正改變數據庫文件的內部 - 它只是啓用/禁用某些T-SQL功能。

最簡單的解決方案是在所有系統上只使用SQL Server的相同版本。這樣,您可以輕鬆地從一臺機器備份,並將該數據庫恢復到另一臺機器上。

如果這不可行,那麼您必須使用T-SQL腳本將結構和/或內容(數據)中的更改從較新版本傳輸到較舊版本。您可以使用Redgate SQL CompareSQL Data Compare等工具來幫助您生成這些T-SQL腳本,也可以自己編寫這些腳本。或者你建立一些其他的方式來同步兩個數據庫。

或者如果您需要移動「僅」數據,則可以檢入導入/導出嚮導,然後將數據從SQL Server 2016轉儲爲中間格式(Access,Excel)並將其重新導入到從那裏的舊的SQL Server。

+0

非常感謝您的詳細解釋,我只需要移動數據,我將按照您指示的方式運行這個過程,我將執行BCP提取並將其重新導入到數據庫中。 – AbrandaoL