Sql-Server
將 SQL Server 數據庫從 Windows 移動到 Linux 失敗
我們正在嘗試將 SQL Server 數據庫從 Windows 移動到 Linux。但是我們在遷移過程中面臨的問題很少。
- 我們從 Windows 中的 SSMS 備份了數據庫伺服器
- 我們在執行以下命令的 linux 中恢復了它:
RESTORE FILELISTONLY FROM DISK =N'/var/opt/mssql/data/backup_file_name.bak' RESTORE DATABASE DB_NAME FROM DISK = N'/var/opt/mssql/backup_file_name.bak' WITH FILE = 1, MOVE N'DB_NAME' TO N'/var/opt/mssql/data/DB_NAME.mdf', MOVE N'DB_NAME_Log' TO N'/var/opt/mssql/data/DB_NAME.ldf', NOUNLOAD, REPLACE, STATS = 1 GO
執行這個我或多或少地得到一個錯誤在於:
文件 XX_FlatFline 無法恢復到PATH_IN_WINDOWS {…..mdf}。使用 WITH MOVE 標識文件的有效位置。
MDF 和 LDF 文件都出現錯誤。上面報錯中顯示的windows路徑就是mdf和ldf文件在windows機器中的位置。
有人可以幫我理解這裡出了什麼問題嗎?當我將轉儲恢復到新數據庫時,為什麼 Windows 路徑仍然很重要?
警告:我是 SQL Server 的新手。
在 Linux 上的 SQL Server 的第一個版本中,我看到 SQL Server 將路徑轉換為 windows 中的相關術語,例如,root ‘/’ 將是 C:。因此,如果存在此邏輯,您可以嘗試將其設置為:
從磁碟 = N’C:\var\opt\mssql\backup_file_name.bak’ WITH FILE = 1
但我認為現在有所不同,正如這裡提到的, 也許您應該首先檢查 Linux 上 SQL Server 的版本,然後檢查該文章中的步驟。