-1
方案:一臺機器上恢復一體機的SQL Server數據庫備份到另一個
- 我有一個數據庫備份(
abc.bak
) - 我把它複製到另一臺機器上的一些路徑假設
G:\SQLDB\backup\master_copy.bak
- 我用下面的T-SQL來嘗試和恢復 - 但我得到錯誤。
T-SQL中使用:產生
RESTORE DATABASE New_DB
FROM DISK = 'G:\SQLDB\backup\master_copy.bak'
WITH
MOVE 'coop_test_dat' TO 'G:\SQLDB\livedb\new_db_data.mdf',
MOVE 'coop_test_log' TO 'G:\SQLDB\livedb\new_db_log.ldf',
REPLACE
錯誤:
消息5133,級別16,狀態1,行1
目錄查找的文件「C:\ SQLDB \ masterdb \ master_blank.mdf「操作系統錯誤3失敗(系統找不到指定的路徑)。Msg 3156,Level 16,State 3,Line 1
文件'coop_demo'無法恢復到'C:\ SQLDB \ masterdb \ master_blank.mdf'。使用WITH MOVE標識文件的有效位置。
這裏給出的指定路徑是來自新機器中不存在的舊機器。
我該如何解決這個問題?
錯誤消息是關於文件'coop_demo'。你只是移動文件「coop_test_dat」和「coop_test_log」。 (一般來說,你的錯誤信息似乎完全不符合你的方案,但這可能是由於在你的結尾不恰當的替換。嘗試堅持*一個確切的場景,最好不要假設。)嘗試['RESTORE FILELISTONLY' ](https://docs.microsoft.com/en-us/sql/t-sql/statements/restore-statements-filelistonly-transact-sql)以獲取有關備份中所含文件的完整信息以及正確的「MOVE '子句。 –
coop_demo是舊機器中舊數據庫的名稱...我需要將它恢復到新數據庫名稱:new_db在新機器的新位置 – KoolKabin
'coop_demo'也是*數據庫文件的名稱。爲什麼?因爲錯誤消息是這樣說的。 –