• 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

「SQL Server Express」をバックアップするのは、面倒。 管理画面「SQL Server Management Studio」上からGUI操作でのバックアップはできるが、スケジューリングして毎日バックアップ、というようなことができない。以下のようにすると実現できる。

概要

「SQL Server Express」をコマンドラインから操作できるようにして、バッチ処理のタスクにする。

準備

「SQL Server Express」をコマンドライン操作するツールはsqlcmdでこれはmicrosoftからダウンロードできる。先に、同じURLからダウンロードできる「sql native client」のインストールが必要なことに注意。

「sql native client」と「sqlcmd」のインストール

「Microsoft SQL Server 2005 用 Feature Pack- 2007 年 2 月」のURLから「Microsoft SQL Server Native Client」と「Microsoft SQL Server 2005 コマンド ライン クエリ ユーティリティ」をインストールする。

私の環境の場合「SQLServer2005_NS.msi」と「SQLServer2005_SQLCMD.msi」をインストールした。

Microsoft SQL Server 2005 コマンド ライン クエリ ユーティリティ

SQLCMD ユーティリティを使用すると、SQL Server 7.0、SQL Server 2000、および SQL Server 2005 インスタンスへの接続や、Transact-SQL バッチの送信を行えます。またこれらのインスタンスから、行セット情報を出力することもできます。SQLCMD は ISQL と OSQL に代わるものですが、ISQL または OSQL と同時にインストールして使用することもできます。

注 : Microsoft SQL Server 2005 コマンド ライン クエリ ユーティリティには、Microsoft SQL Server Native Client が必要です。両方ともこのページからダウンロードできます。

 

Microsoft SQL Server Native Client

Microsoft SQL Server Native Client (SQL Native Client) は、SQL OLE DB プロバイダと SQL ODBC ドライバの両方を備えた単一のダイナミック リンク ライブラリ (DLL) です。この DLL は、ネイティブコード API (ODBC、OLE DB、ADO) を使用して Microsoft SQL Server 7.0、SQL Server 2000、または SQL Server 2005 へ接続するアプリケーション用のランタイム サポートも備えています。SQL Native Client は、新しいアプリケーションの作成や既存のアプリケーションの拡張を行うとき、これらのアプリケーションで SQL Server 2005 の新しい機能が必要となる場合に使用します。SQL Native Client の再配布可能なインストーラによって、SQL Server 2005 の機能を利用するときに必要となるクライアント コンポーネントがインストールされます。また、SQL Native Client API を使用するアプリケーションの開発で必要となるヘッダー ファイルをオプションでインストールすることもできます。

#sqlcmdのコマンドオプションの詳細は以下を参照。
http://msdn.microsoft.com/ja-jp/library/ms162773.aspx

タスクの準備

まずFullBackup.sqlを用意する。DB名を仮にtestDBとすると

BACKUP DATABASE testDB TO DISK = N'D:\db\backup\ testDB' WITH INIT

次にコマンドプロンプトで以下を実行する。(iオプションはSQL ステートメントまたはストアド プロシージャのバッチを含むファイルを指定するオプション。)

sqlcmd -i D:\db\FullBackup.sql

処理結果が返ってきた。

ファイル 1 で、データベース 'testDB'、ファイル 'testDB_dat' の 776 ページが処理されました。 ファイル 1 で、データベース 'testDB'、ファイル 'testDB_log' の 1 ページが処理されました。 BACKUP DATABASE は 777 ページを 6.079 秒で正常に処理しました (1.045 MB/秒)。

後はこれをタスクスケジューラに登録して毎日実行すれば良い。 とりあえず、世代交代とかはまた別途。

posted by Face ysakaki on Tue 14 Oct 2008 at 18:24
Contents
SQL Server Expressをバックアップする方法
Comments
satoko: 私もGIMP入れてみたんですよ、で、同じ文字化け。 言語の優先順位を1.English、2:... '08-11
榊 祐介: >satokoさん コメントありがとうございます。 画像編集はGIMPを入れてみたのですがい... '08-11
satoko: しまったsubmitするの忘れてたのですが、昨日書いていたコメントです。^^ '08-11
satoko: あわあわ、私も今日までずっと困っていました。先ほど別のところでこの設定方法を学んだところです!... '08-11
榊 祐介: 検索したら自分のブログだった乙orz '08-11
Services from s21g
twpro(ツイプロ)
Twitterプロフィールを快適検索
地価2009
土地の値段を調べてみよう
MyRestaurant
自分だけのレストラン手帳
Formula
ブログに数式を埋め込める数式コミュニティ