*

【SQL Server 2012】バッチ(コマンドプロンプト)でバックアップ

公開日: : 最終更新日:2015/01/12 データベース , , ,

バッチ(コマンドプロンプト)を使って、SQL Server 2012のバックアップを取得します。
前回は、Management Studioを使用してデータベースのバックアップを取得しましたが、
定期バックアップのたびにManagement Studioから手動でバックアップするのは大変面倒です。
なので今回は、同様のバックアップをコマンドプロンプトで取得します。
バッチファイルでバックアップを取得することにより、タスクスケジュールに組み込みば、
自動で定期的にバックアップを取得することが可能です。
以下の環境で取得しようと思います。
・OS:Windows Server 2012
・データベース:SQL Server 2012
・DBサーバーホスト名:DBSERVER
・SQLServerインスタンス:SQLEXPRESS
・データベース名:db_Sales
・接続ユーザー:Windows認証
・バックアップ保存先:C:\temp

sqlcmd -S .\SQLEXPRESS -Q “BACKUP DATABASE db_Sales TO DISK=’C:\temp\testdb.bak’ WITH INIT” > C:\temp\backup.log

※ダブルコーテーションとシングルコーテーションは半角へ変更
↑のコマンドをサーバー上のコマンドプロンプトで実行すれば、バックアップが取得できます。
■コマンド解説

sqlcmd -S DBSERVER\SQLEXPRESS -Q “BACKUP DATABASE db_Sales TO DISK=’C:\temp\testdb.bak’ WITH INIT” > C:\temp\backup.log

sqlcmd
SQL ServerをCUIで管理するツール
-S DBSERVER\SQLEXPRESS
接続サーバー。僕の場合は、ホスト名:DBSERVER、インスタンス名:SQLEXPRESSなので、
DBSERVER\SQLEXPRESS となります。ローカルの場合は、ホスト名を省略して「.\SQLEXPRESS」でもOK。
-Q “BACKUP DATABASE 【対象データベース】 TO DISK=’【バックアップ先ファイル名】’ WITH INIT”
実行するSQLコマンド。
この【-Q】を使用すれば、SELECT文などのSQLをバッチ(コマンドプロンプト)で実行することが出来ます。
> C:\temp\backup.log
ログファイルの出力先。無くても問題ありません。
後は、このコマンドをバッチファイルとして保存し、タスクスケジュールでスケジューリングすれば
定期バックアップの完成です。
SQLServer認証ユーザーでコマンドを実行する場合、以下のように認証ユーザーとパスワードを追加。

sqlcmd -S DBSERVER\SQLEXPRESS -U 【ログインユーザー名】 -P 【ログインパスワード】 -Q “BACKUP DATABASE db_Sales TO DISK=’C:\temp\testdb.bak’ WITH INIT” > C:\temp\backup.log

-U 【ログインユーザー名】
SQLServer認証ユーザー名。
-P 【ログインパスワード】
SQLServer認証ユーザーのパスワードを上記のように追加して、実行すれば可能です。

Adsense

関連記事

データベース

【SQL Server】varchar型、nvarchar型の文字数とバイト(byte)数を取得する

varchar型の文字数、バイト(byte)数を取得する方法 SELECT LEN(【文字

記事を読む

データベース

【コマンドプロンプト】完成版!cmdでSQLの結果を変数に取得

以前、 【コマンドプロンプト】cmdでSQLの結果を変数に取得する方法 を書きましたが、

記事を読む

データベース

【Management Studio】データベースの定義を取得する方法

あくまでデータベース定義の取得です。 ※データベースのデータを取得する方法ではありません。

記事を読む

データベース

【SQLServer2012】バックアップ/リストア方法 リストア編

SQL Server 2012のデータベースをManagement Studioを使用して、リストア

記事を読む

データベース

【SQL Server 2012 Express】Windows Server 2012にインストールしてみる

Windows Server 2012にSQL Server 2012をインストールしてみる。 以

記事を読む

データベース

【SQL Server】Excel VBAのレコードセットを使ってテーブルの一括更新

前々回は読み取り専用でレコードセットへ取得し、結果をエクセルへ書き出し 前回はVBAから更新S

記事を読む

データベース

【SQL Server】アンインストール手順

手順としては、http://technet.microsoft.com/ja-jp/library/

記事を読む

データベース

【SQL Server 2012】SQLでエクセルをテーブルとして表示させる方法

SQL Management Studioを使用してインポート等は使用せずにSQLのみでテーブルを表

記事を読む

データベース

【SQL Server 2012】Management Studioでサンプルデータベース(mdfファイル)をアタッチ

以前、Windows Server 2012にMicrosoftR SQL ServerR 2012

記事を読む

データベース

【SQL Server】エクセルをテーブルに取り込む方法

以前にManagement Studioを使ってSQLでエクセルを直接取り込む方法を書きましたが、今

記事を読む

Adsense

Comment

  1. […] ← 【SQL Server 2012】バッチ(コマンドプロンプト)でバックアップ […]

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

Adsense

Microsoft Office
【Access】削除クエリの「指定されたテーブルから削除できませんでした。」の対処法

削除クエリで「指定されたテーブルから削除できませんでした。」と ポッ

Microsoft Office
【PowerPoint】表や図形、画像オブジェクトの位置をピッタリ合わせる方法

パワーポイントで、図形や画像等のオブジェクトの細かい位置調整は、 完

データベース
【SQL Server】Excel VBAのレコードセットを使ってテーブルの一括更新

前々回は読み取り専用でレコードセットへ取得し、結果をエクセルへ書き出し

application
【Visual Studio】デバック、ブレークポイントで止まらない。

Visual Studio 2015でVB.netのプログラムをデバッ

データベース
【SQL Server】Excel VBAでSELECT文を実行してレコードセットへ取得

前回は、テーブルのレコードをVBAで直接更新(Insert/updat

→もっと見る

PAGE TOP ↑