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/秒)。
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/秒)。
powershellによるバックアップ・リストア
ドキュメントを見てみると、powershellでもバックアップが実行できるようです。
実行するコマンドは以下のとおり。
Backup-SqlDatabase -ServerInstance localhost -Database sample -BackupAction Database -BackupFile "c:\backup\sample.bak"
さくっとバックアップ出来ました。
リストアは以下のコマンドで実行出来ました。
Restore-SqlDatabase -ServerInstance localhost -Database sample -BackupFile "c:\backup\sample.bak"
- 関連記事
-
- SQL Server 2016 ExpressをWindows Server 2016へインストール
- SQL Server 2014 Express bcpコマンドを使用して、テーブルデータのバックアップ・リストア
- SQL Server 2014 Express コマンドを使用して、データベースのバックアップ・リストア
- SQL Server 2014 Express GUIを使用して、データベースのバックアップ・リストア
- SQL Server 2014 Expressの外部接続を許可する手順
コメント