mk-mode BLOG

このブログは自作の自宅サーバに構築した Debian GNU/Linux で運用しています。
PC・サーバ構築等の話題を中心に公開しております。(クローンサイト: GitHub Pages

ブログ開設日2009-01-05
サーバ連続稼働時間
Reading...
Page View 合計
Reading...
今日
Reading...
昨日
Reading...

SQLServer2008 Express - コマンドラインでバックアップ!

[ pc_tips ] [ ]

こんばんは。

今日は、「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」(例)

1
BACKUP DATABASE Get_Trade TO DISK = N'E:\BAK\DB\SQLSERVER\Get_Trade' WITH INIT

2.バッチファイルの作成

以下のようにバッチファイル「BAK_SQLSVR_GetTrade.bat」(例)を作成します。

1
2
3
@ECHO SQL Server DataBase [ Get_Trade ] をバックアップします。
@PAUSE
sqlcmd -i D:\50_DB\SQL\BAK_GetTrade.sql ← 実行するSQLスクリプト

3.タスクへ登録

作成したバッチファイルを希望の時間に自動実行されるようにタスクに登録する。


これで、データベースのバックアップが自動化されました。 ※ちなみに「sqlcmd」コマンドの詳細は、コマンドプロンプトで「sqlcmd /?」で確認できます。

ではまた。

Comments