SQLServer2008 Express - コマンドラインでバックアップ!
Updated:
今日は、「SQLServer2008 Express」のバックアップについてです。
通常データベースをバックアップする場合、「SQLServerManagementStudio」を使用してGUIベースで行います。
しかし、定期的に自動でバックアップさせたい場合にExpress エディションのSQLServerでは自動では行えません。
そこで自動バックアップすべく、バックアップ用SQLスクリプトをバッチファイルから実行するようにし、さらにそのバッチファイルをタスクで自動実行するようにしました。
作業記録
【前提条件】
- SQLServer2008 Expressがインストール済み
- SQLServer2008 NativeClient がインストール済み
- SQLServer2008 Express コマンドラインユーティリティがインストール済み
※当方は「SQLServer2008 Express」はAdvanced版をインストールしたので、全てインストールされていました。
1.SQLスクリプトの作成
以下のようにSQLスクリプト「BAK_GetTrade.sql」(例)を作成します。 ・バックアップするデータベース:「Get_Trade」(例) ・データベース保存先:「E:\BAK\DB\SQLSERVER\Get_Trade」(例)
BACKUP DATABASE Get_Trade TO DISK = N'E:\BAK\DB\SQLSERVER\Get_Trade' WITH INIT
2.バッチファイルの作成
以下のようにバッチファイル「BAK_SQLSVR_GetTrade.bat」(例)を作成します。
@ECHO SQL Server DataBase [ Get_Trade ] をバックアップします。
@PAUSE
sqlcmd -i D:\50_DB\SQL\BAK_GetTrade.sql ← 実行するSQLスクリプト
3.タスクへ登録
作成したバッチファイルを希望の時間に自動実行されるようにタスクに登録する。
これで、データベースのバックアップが自動化されました。 ※ちなみに「sqlcmd」コマンドの詳細は、コマンドプロンプトで「sqlcmd /?」で確認できます。
ではまた。
Comments