*

【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 2012】バックアップ/リストア方法 バックアップ編

Management StudioでSQL Server 2012のデータベースバックアップファイル

記事を読む

データベース

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

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

記事を読む

データベース

【コマンドプロンプト】cmdでSQLの結果を変数に取得する方法

力技の取得方法をご紹介。というかメモ。 題名には偉そうに書きましたが…なかなか良い方法が見つか

記事を読む

データベース

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

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

記事を読む

データベース

【SQL Server 2012】SQLでエクセル表示の実行エラーの対処法

SQLでエクセル表示を実行した時にエラーとなった場合の対処法。 実はSQLでエクセルファイルを表示

記事を読む

データベース

【SQL Server】Management Studioでテーブルをデザインから変更するとエラーになる

変更の保存が許可されていません。行った変更には、次のテーブルを削除して再作成することが必要に

記事を読む

データベース

【SQL Server 2012】テーブル、カラム、主キー、NULL制約、データ型、長さ、INDEXの有無の一括表示

職場のシステムリプレースに伴い、データベースのテーブル(カラム)の一覧が必要になりました。 普

記事を読む

データベース

【Management Studio】テーブル単位のメモリ使用量の確認

1.Management Studioを起動し、メモリ使用量が確認したい対象サーバーへ接続 2.確

記事を読む

データベース

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

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

記事を読む

データベース

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

バッチ(コマンドプロンプト)を使って、SQL Server 2012のリストアしてみたいと思います。

記事を読む

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 ↑