• 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 ysakaki ysakaki on Thu 9 Oct 2008 at 18:23 with 0 comments
Contents rssrss
榊祐介に関する最新情報について
「三鷹プログラマーズカフェβ」を始めます
MacのTerminal.appでSSHのセッション切れを防止するには
MacのNetbeans6.5でfast-debuggerを使用するには
Railsでテスト環境にdb:fixtures:loadするには
MacOS X(10.5)のNetBeans6.5でコミットエラーが出る場合
[Slicehost]MySQLとRuby/Railsの導入
WEBサービス用のapache設定を追加する
Slicehostと契約したら最初にやること
Excel で1行おきに色付けする方法
Tags
rails105macosxslicehostdebuggerExcelfixturesgemmysqlnetbeans65rakerubysvnterminalapp条件付き書式
Comments rssrss
satoko satoko: 私もGIMP入れてみたんですよ、で、同じ文字化け。 言語の優先順位を1.English、2:日本語... 11/28 07:38
榊 祐介 榊 祐介: >satokoさん コメントありがとうございます。 画像編集はGIMPを入れてみたのですがいきなり... 11/25 14:41
satoko satoko: しまったsubmitするの忘れてたのですが、昨日書いていたコメントです。^^ 11/19 10:59
satoko satoko: あわあわ、私も今日までずっと困っていました。先ほど別のところでこの設定方法を学んだところです!mac... 11/19 10:59
榊 祐介 榊 祐介: 検索したら自分のブログだった乙orz 11/11 15:07
naka54 naka54: こんにちは。先日は写真を撮影いただいてありがとうございました。 弊社でもこんなコースをやっていたりし... 09/10 19:02
瀧内元気 瀧内元気: どもども。こちらこそですー。 07/31 07:55
榊 祐介 榊 祐介: おー。瀧内さんお元気ですかー。 Rails勉強会とかでお世話になっております。 07/29 13:41