Sql-Server-2008-R2

將舊數據庫還原到 SQL Server 2017 時出現日誌錯誤

  • March 26, 2022

我正在嘗試將數據庫從舊的 SQL Server 2008 R2 遷移到 SQL Server 2017。數據庫最初是 2000,因此兼容級別為 80。最初我進行了完整的數據庫備份並嘗試將其還原到新伺服器,但出現以下錯誤:

消息 9014,級別 16,狀態 2,第 32 行處理數據庫“nrf”的日誌時發生錯誤。不支持日誌塊版本 2。此伺服器支持日誌版本 3 到 5。

我回到原始伺服器並將備份恢復為新名稱 nrf_temp,然後將該數據庫更改為兼容級別 100(適用於 2008 R2)。我進行了新備份並再次嘗試恢復到我的新伺服器,但再次遇到相同的錯誤。然後我回到原來的伺服器,刪除了我的新名稱數據庫 nrf_temp,並從我將兼容性級別設置為 100 後進行的最後一次備份進行了恢復 - 認為重新創建物理文件可能會有所幫助。我進行了另一個備份並再次嘗試恢復到我的新伺服器,但再次出現相同的錯誤。

有什麼方法可以讓恢復在 2017 伺服器上工作,還是我必須全新定義數據庫並導入數據?請注意,我能夠從該舊伺服器成功備份其他數據庫,這些數據庫已經在兼容性 100,並將這些備份恢復到我的新 2017 版本。

對於我進行的每個備份,我確實備份到了一個全新的備份集和文件。

在進行備份之前,請確保您已在源實例上安裝了 2008 的最低服務包級別。它似乎需要在 SP4 上才能恢復到 SQL Server 2017:SQL Server 2017支持的版本和版本升級

也許您可以嘗試將數據庫附加到新伺服器中。

它可能會創建一個具有“新格式”的新日誌。不確定它是否會起作用,但可能值得一試。

確保您完全關閉並僅複製數據文件並讓 SQL Server 創建一個新日誌。– dbamex

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