SQL Server 2014 Express コマンドを使用して、データベースのバックアップ・リストア

Management Studioを使用して、データベースのバックアップ・リストアを試してみました。
SQL Server 2014 Express GUIを使用して、データベースのバックアップ・リストア


コマンドで同じ事を実現してみます。


sqlcmdによるバックアップ



以前、sqlcmdコマンドを使用してデータベースを作ってみました。
SQL Server 2008 R2 Express コマンドでデータベースとテーブルを作成する(sqlcmd)

このコマンドを使用して、データベースのバックアップを取得してみます。

sqlcmdのオプション
sqlcmd ユーティリティ

データベースのバックアップコマンド
データベースの完全バックアップの作成 (SQL Server)


これらを加味して、「sample」データベースを「C:\backup\sample.bak」に
バックアップするコマンドは以下のようになりました。


sqlcmd -d sample -Q "BACKUP DATABASE sample TO DISK = 'C:¥backup¥sample.bak';"



-dでデータベースを指定。
-Qでクエリを実行して、sqlcmdを終了します。

ログインに関するオプションは指定していません。
これで自動的にWindows認証によるログインになるはずです。

実行してみると、こんな感じでバックアップが取得出来ました。


c:\>sqlcmd -d sample -Q "BACKUP DATABASE sample TO DISK = 'C:\backup\sample.bak';"
データベース 'sample' の 328 ページ、ファイル 1 のファイル 'sample' を処理しました。
データベース 'sample' の 2 ページ、ファイル 1 のファイル 'sample_log' を処理しました。
BACKUP DATABASE により 330 ページが 0.157 秒間で正常に処理されました (16.374 MB/秒)。




397_01.png






sqlcmdによるリストア



復元はこちらが参考になります。
データベースを新しい場所に復元する (SQL Server)


実行するコマンドは以下のようになりました。


sqlcmd -d master -Q "RESTORE DATABASE sample FROM DISK = 'C:\backup\sample.bak';"




こんな感じで復元出来ました。


c:\>sqlcmd -d master -Q "RESTORE DATABASE sample FROM DISK = 'C:\backup\sample.bak';"
データベース 'sample' の 328 ページ、ファイル 1 のファイル 'sample' を処理しました。
データベース 'sample' の 2 ページ、ファイル 1 のファイル 'sample_log' を処理しました。
RESTORE DATABASE により 330 ページが 0.127 秒間で正常に処理されました (20.242 MB/秒)。




397_02.png






powershellによるバックアップ・リストア



ドキュメントを見てみると、powershellでもバックアップが実行できるようです。

実行するコマンドは以下のとおり。


Backup-SqlDatabase -ServerInstance localhost -Database sample -BackupAction Database -BackupFile "c:\backup\sample.bak"




さくっとバックアップ出来ました。

397_03.png



リストアは以下のコマンドで実行出来ました。


Restore-SqlDatabase -ServerInstance localhost -Database sample -BackupFile "c:\backup\sample.bak"


関連記事

コメント

プロフィール

Author:symfo
blog形式だと探しにくいので、まとめサイト作成中です。
https://symfo.web.fc2.com/

PR

検索フォーム

月別アーカイブ