備份
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'”;