SQL Server のバックアップ

お写んぽ 

トラブルに備えてのバックアップは基本中の基本。

普通のファイルは別の場所にコピーするだけでバックアップできるのですが、SQL Server のデータファイルはサービスを止めないとファイルのコピーが出来ません。

なので、バックアップ方法は

1.サービスを停止する
2.データベースのファイルをコピーする
3.サービスを開始する

という手順が必要です。前述の手順をバッチファイルで自動化する方法を示します。

SQL Server Management Studio

SQL Server の管理ツールでデータベースを表示したのが上図で、この中の CarCounter と SKManager というオブジェクトがバックアップしたいデータベースです。

データベースファイル

実際のファイルは上図の場所にありますが、これをそのままコピーしようとしてもエラーで弾かれます。
※ OS、SQL Server のバージョンによりファイルが存在する場所は異なります。

バッチファイル

そこで、上図の様なバッチファイルを作成して実行すると、ワンクリックで「サービスの停止・コピー・サービス再開」が可能になります。

[追記]
バックアップ先も変数にするともっと見やすくなりますね。
例)
 set BACKUPPATH=D:\Data\Data\DB-Backup(SQL-Server)
 copy copy “%SQLSVR%CarCounter.mdf” “%BACKUPPATH%”

実行結果

実行の結果はこんな感じ。

SQL Server のバックアップが面倒だと感じている方は参考にして下さい。