SQL Serverデータベースのバックアップと復元――sqlcmdを使用する.

3795 ワード

バックアップ
BACKUP DATABASE AbpFirst TO DISK='d:\AbpFirst.bak'
 
元に戻す
RESTORE DATABASE AbpFirst FROM DISK='d:\AbpFirst.bak'
 
sqlcmdコマンドを使うには接続情報を追加します.
バックアップ
sqlcmd -S . -E -Q "BACKUP DATABASE AbpFirst TO DISK='d:\AbpFirst.bak'"
 
元に戻す
sqlcmd -S . -E -Q "RESTORE DATABASE AbpFirst FROM DISK='d:\AbpFirst.bak'"
 
以上の復元コマンドは、同じSql Serverサーバにバックアップと復元すれば大丈夫です.しかし、他のSql Serverサーバでこのバックアップファイルを復元するとエラーが発生します.元に戻すとバックアップ時のデータファイルのパスが検証されます.この時、WITH MOVEを使ってデータファイルとログファイルを再マッピングする必要があります.
sqlcmd -S .\sqlexpress -E -Q "RESTORE DATABASE AbpFirst FROM DISK='D:\AbpFirst.bak' WITH MOVE 'AbpFirst' TO 'D:\MyData\AbpFirst_Data.mdf', Move 'AbpFirst_log' TO 'D:\MyData\AbpFirst_log.ldf'"
 
データファイルとログファイルの名前が分からない場合は、下記のコマンドで照会できます.
sqlcmd -S .\sqlexpress -E -Q "RESTORE FILELISTONLY FROM DISK='d:\AbpFirst.bak'"
 
転載先:https://www.cnblogs.com/equations/p/6821546.html