俺の開発研究所

Ruby on Rails、Linux、Windowsを中心にIT技術系の備忘録とか。よく忘れるので。

*

SQL Serverのバックアップコマンドでデータベースバックアップ

      2014/12/31

以前、「SQL Server Management Studio」を使用して、SQL Serverのデータベースをバックアップする方法を紹介しました。

詳細はこちら参照⇒「SQL Serverのデータベースの完全バックアップと復元方法

今回は、バッチファイル・スクリプトファイルを使用して、SQL Serverのバックアップコマンドでデータベースをバックアップしたいと思います。

バッチファイル・スクリプトファイルでバックアップを行う方法は、そのバッチファイルをタスクスケジューラに登録すれば、決まった時刻に自動で実行することができるので便利ですよ。

なお、今回のバージョンは以下です。

  • Windows Server 2008 R2 Standard
  • SQLServer Standard 2008 R2

スポンサード リンク

バッチファイルの作成

まずは、バッチファイル(拡張子「.bat」)を作成する。

今回は、「D:\Backup\Backup.bat」というファイルを作成した。

「SQLCMD」は、SQL Serverに付属の「SQL Server Command Line Tool」というコマンドラインツールのコマンドです。

上記のようにオプションを指定して使用すればOK。

なお、インスタンス名はデフォルトの「MSSQLSERVER」であれば指定しなくてもよい。

SQL Server Expressの場合のインスタンス名は「SQLEXPRESS」のようだ。

スクリプトファイルの作成

続いて、SQL Serverのバックアップコマンドのスクリプトファイル(拡張子「.sql」)を作成する。

バッチファイル内で、入力ファイルとして指定している「D:\Backup\Script.sql」というファイルを作成した。

上記のように、「BACKUP DATABASE」文を使用してデータベースを完全バックアップする。

バックアップの実行

バッチファイルとスクリプトファイルが完成したら、バックアップを実行してみる。

「D:\Backup\Backup.bat」ファイルを実行させるとコマンドプロンプトが立ち上がり、処理が完了すれば自動で閉じる。

バッチファイルでログ出力するようにしているので、「D:\Backup\Backup.log」ファイルに以下のようにログが出力されていれば完了だ。

以上です。

参考サイト

SQL Server Expressのバックアップ(自動) – SQL Server Express 管理 | 技術情報・コラム

 - SQL Server