SQL Server 數據庫備份和還原——使用sqlcmd

備份

BACKUP DATABASE 數據庫名 TO DISK=’d:\數據庫名.bak’;

 

還原

RESTORE DATABASE 數據庫名 FROM DISK=’d:\數據庫名.bak’;

 

使用sqlcmd命令則要加上連接信息:

 

備份

sqlcmd -S . -E -Q “BACKUP DATABASE 數據庫名 TO DISK=’d:\數據庫名.bak'”;

 

還原

sqlcmd -S . -E -Q “RESTORE DATABASE 數據庫名 FROM DISK=’d:\數據庫名.bak'”;

 

以上的還原命令,如果備份和還原在同一臺SqlServer 服務器上,則沒有問題;但是,如果是在另一臺SqlServer 服務器上還原該備份文件,則會報錯。因爲還原的時候會驗證備份時數據文件的路徑。這時,我們需要使用WITH MOVE 重新映射數據文件和日誌文件:

sqlcmd -S .\sqlexpress -E -Q "RESTORE DATABASE 數據庫名 FROM DISK='D:\數據庫名.bak' WITH MOVE '數據庫名' TO 'D:\MyData\數據庫名_Data.mdf', Move '數據庫名_log' TO 'D:\MyData\數據庫名_log.ldf'";

 

如果我們不知道數據文件和日誌文件的名稱,可以使用下面的命令查詢:

sqlcmd -S .\sqlexpress -E -Q “RESTORE FILELISTONLY FROM DISK=’d:\數據庫名.bak'”;

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章