SQL語句還原數據庫並移動文件到指定路徑


用SQL語句還原數據庫時如果不指定數據庫文件的存儲路徑,則默認把數據文件和日志文件存放到與原數據庫相同的文件路徑中,這樣可能會產生錯誤,比如執行下面的語句:

 

restore database SmartDev_11_28
from disk='D:\Backup\SmartDev_20170904010000_413.bak'

 

得到如下的錯誤信息:

 

想要在語句中指定文件路徑需要用with move,

restore database 數據庫名

from disk='備份文件路徑'

with move '邏輯文件名' to '還原后數據庫數據文件存放路徑'

       move '邏輯日志名' to '還原后數據庫日志文件存放路徑'

這里的邏輯文件名和邏輯日志名可以通過下面的語句來查看:

 

restore filelistonly 
from disk='D:\Backup\SmartDev_20170904010000_413.bak'

 

 

還原代碼如下:

 

restore database SmartDev_11_28
from disk='D:\Backup\SmartDev_20170904010000_413.bak'
with recovery,
  move 'Intertek.Smart.Dev' to 'D:\DataBase\SZDBF8NBD2\SmartDev_11_28\SmartDev_11_28.mdf',
  move 'FileStreamGroup_4D837C1B' to 'D:\DataBase\SZDBF8NBD2\SmartDev_11_28\SmartDev_FileStreamGroup_4D837C1B.mdf',
  move 'Intertek.Smart.Dev_log' to 'D:\DataBase\SZDBF8NBD2\SmartDev_11_28\SmartDev_11_28.ldf',
  move 'filestream_data' to 'D:\DataBase\SZDBF8NBD2\SmartDev_11_28\filestream_data',
  move 'FileStream1' to 'D:\DataBase\SZDBF8NBD2\SmartDev_11_28\FileStream1'

 

還原數據庫成功。

 

還原后數據庫各文件存放在該目錄下。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM