Sql-Server

從 SQL Server 2008 R2 遷移到 SQL Server 2017 Standard(在 Linux 上)的問題

  • April 18, 2019

我目前正在嘗試使用 DMA 工具執行從 SQL Server 2008 到 SQL Server 2017 (Linux) 的數據庫遷移。

執行評估後我得到了全綠色,但是在遷移過程中我遇到了“記憶體不足”異常。

關於如何解決此問題的任何建議?源伺服器和目標伺服器都有 16GB 的 RAM。這應該足夠了,不是嗎?

這裡有一個類似但不完全相同的問題:

Azure SQL 數據遷移助手卡在“遷移數據”上

但是,它確實解釋了您遇到的限制:

Extract 服務連接到數據庫,讀取其所有對象及其屬性,然後創建數據庫的記憶體模型。

如果您嘗試遷移的數據庫具有異常數量的架構對象,則此記憶體中 DAC 模型可能會壓倒客戶端應用程序/系統(在這種情況下,您的 PC 上執行的數據遷移助手),從而導致 OutOfMemoryException。

您的下一個最佳選擇是使用經過驗證的真實方法,例如備份/還原,以便遷移到新機器。

這就是我解決問題的方法。在 DMA 工具不起作用後,我採用了備份/恢復路線。我正在將在 SQL Server 2008 上進行的備份還原到 Server 2017(Linux 版本),並且在還原過程的最後階段出現此錯誤。

資源池“內部”中的系統記憶體不足,無法執行此查詢。消息 3013,級別 16,狀態 1,伺服器 solarwinds-DB2,第 1 行 RESTORE DATABASE 異常終止。

顯然,許多人嘗試做同樣的事情(似乎是一個錯誤)都遇到了這個問題。解決方法是將數據庫還原到 SQL Server 2017(Windows 版),進行備份,然後還原到 SQL Server 2017(Linux 版)。現在可以了。

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