*

【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でリアルタイムで接続しているユーザーを確認するには Manageme

記事を読む

データベース

【レプリケーション】SQL Server 2012 Expressでレプリケーション

Windows Server 2012のSQL Server 2012 Expressを二台用意して

記事を読む

データベース

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

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

記事を読む

データベース

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

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

記事を読む

データベース

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

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

記事を読む

データベース

【SQL Server 2012】Management Studioを使ったバックアップで面白い機能。

Management Studioを使ったバックアップをかれこれ3年くらいやってるんですが、一つのバ

記事を読む

データベース

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

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

記事を読む

データベース

【ODBC】Windows7でAccess2007とSQL Serverを接続する為のODBCの作成

前回、ODBC接続の為のサーバー側の設定を行いましたので、 今回はAccess2007側のWind

記事を読む

データベース

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

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

記事を読む

データベース

【ODBC】Access2007でSQL Server 2012に接続する為のサーバー側の設定

ODBCでAccess2007からSQL Server 2012へ接続する為には SQL Serv

記事を読む

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 ↑