SQL SERVER の単純なバックアップ

SQL Server 2000, 2003, 2008 をいっぺんにせおわすることになった。

幸いトランザクション数も少なくサイズも小さいのでパフォーマンス的に困ることは全然ない。運良く。

というわけでバックアップの方法を調べてみた。フルバックアップ。これでいける。

BACKUP DATABASE dbname TO DISK = 'Z:\backup\dbname.bak' WITH FORMAT

Standard 以上なら Enterprise Manager とか Management Studio からジョブ登録すれば良いけど Express だとそうはいかない。

よってOSのタスクにコマンドを登録する。

sqlcmd -S (local)\instancename -d dbname -Q "BACKUP DATABASE dbname TO DISK = 'Z:\backup\dbname.bak' WITH FORMAT"

これでいけた。DB止めなくていい。

WITH FORMAT を付けないと、To DISK で指定したファイルにどんどん追記されちまう。何世代ものバックアップが一つのファイルに格納されちまう。

今回は、1ファイルには常に最新1世代だけ欲しかったので、WITH FORMAT でバックアップファイルの中身を綺麗にしてから動かすようにした。