SQL Serverのバックアップコマンドでデータベースバックアップ | 俺の開発研究所

データベース|俺の開発研究所 データベース「データベース」の記事一覧です。

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

詳しくはこちら⇒「SQL Serverデータベースのバックアップと復元を完全に行う方法」

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

バッチファイルはタスクスケジューラーに登録することで、設定した時間に自動実行されるようになります。

データベースのバージョンはこのようになっています。

  • Windows Server 2008 R2 Standard
  • SQLServer Standard 2008 R2

バッチファイルの作成

拡張子が.batのバッチファイルを作成します。

今回は、「D:↵Backup.bat」という名前で作成しました。

SQLCMD -S [サーバー名/IPアドレス インスタンス名] -U [ユーザーID(saなど)] -P [パスワード] -i D:\Backup Filter.sql > D:↵Backup Filter.log

SQLCMD は、SQL Server に付属するコマンドラインツール「SQL Server Command Line Tools」です。

以下のようにオプションを指定することで使用することができます。

インスタンス名は、デフォルトがMSSQLSERVERであれば、記載する必要はありません。

SQL Server Expressのインスタンス名は "SQLEXPRESS"

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

SQL Server Backup Command用のスクリプトファイルを拡張子".sql "で作成します。

バッチファイルでは、入力ファイルとして指定する「D:㊙Script.sql」という名前のファイルを作成しました。

BACKUP DATABASE [データベース名] TO DISK='D:\Backup╱Data[データベース名].BAK' WITH INITGO

完全なバックアップを作成する場合は、上記のように「BACKUP DBAASE」というステートメントを使用します。

バックアップの実行

スクリプトとバッチファイルの作成が完了したら、いよいよバックアップです。

「D:↵Backup.bat」を実行すると、コマンドプロンプトが起動し、処理が終了すると自動的に終了します。

バッチファイルはログを出力するので、「D:㈳バックアップ㈳.log」ファイルに以下のようにログが出力されたら完了です。

データベース"[databasename]"のファイル1(ファイル'[databasename])の528ページが処理されました。データベース"[database]"、ファイル'[database]_log'のファイル1からのページが処理されました。BACKUP DATABASE は 529 ページを 0.884 秒で処理しました (4.67 MB/秒)。

以上です。

以下のサイトを参照してください。

技術情報・コラム|技術情報・コラム一覧

関連読書:

ドラゴンボール超 スーパーヒーロー:「ブロリー」より4年 新キャラが登場!

神作『無職転生~異世界行ったら本気出す~』の大推薦!

2022年夏|7月放送最新作TVアニメ情報まとめ!おすすめ6選を紹介!