query: tag:server

「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

Ebbは以前にも紹介しましたが
(ポストMongrel時代のWebサーバ参照)、
Thinより高速といわれている軽量・高速なWebサーバです。

[A Web Server Called Ebb

Ebb aims to be a small and fast web server specifically for hosting web frameworks like Rails, Merb, and in the future Django.

こちらでも紹介されています。

Ebb: C-Powered Web Server That Uses Rack - Faster than Mongrel and Thin

非常に興味深いですね。
ということで、ちょっと使ってみました。
先日からgemインストールできるようになったので、
いつものように

sh>>

gem install ebb

<<--

でインストールできます。
ただし、EbbはRuby拡張でglib2のヘッダファイルに依存しているため、
あらかじめそちらもインストールしておく必要があります。
以下はDebianの場合。

sh>>

apt-get install libglib2.0-dev

<<--

インストールが完了したら、RAILS_ROOTで以下のようなMongrel
ライクなコマンドを実行すると、Ebbが立ち上がります。

sh>>
% ebb_rails start
<<--

また、ebb_railsコマンドのオプションは以下の通り

pre>>
Usage: ebb_rails [options] start|stop

Server options:
-p, --port PORT use PORT (default: 3000)
-e, --env ENV Rails environment
(default: development)
-c, --chdir PATH Rails root dir
(default: current dir)
-d, --daemonize Daemonize
-l, --log-file FILE File to redirect output
-P, --pid-file FILE File to store PID
-t, --timeout SEC Request or command timeout in sec
(default: 60)

Common options:
-h, --help Show this message
-v, --version Show version
<<--

とりあえず、単純なアプリケーションでテストした限りでは、
問題なく動いている模様です。
楽しみなプロジェクトですね。

See Also

posted by genki genki on Wed 5 Mar 2008 at 08:56 with 0 comments

と言いつつ、自分ではMongrel使ってない(主にlighttpd)のですが、
RailsChatでshachiさん、くまくまーのmaihaさん、笹田さん、のりおさんと話してた時に出てきた、最近のWebサーバのメモ。

あとで試す。

話は変わりますが、上述のプログラムの大半の実装はCで書かれていて、
インターフェイスの部分だけRubyで実装されている感じのものが
多いですね。これこそがRubyの真骨頂だと思う。

いろんな言語を使ってきたけれど、
最近はCとRubyの組み合わせが良い感じです。
C言語用の高性能プリプロセッサ兼UI記述スクリプト
だと思えばRubyの遅さ気にならない。
CとRubyの相性の良さはとても素晴らしい。
Rubyの拡張をCで書くまでは、Rubyの楽しさの半分しか
見えてなかったと思う。

C++(template)とHLSLというのも中々面白い組み合わせだった。

柔の言語と剛の言語を組み合わせて使うのが生産性を高めるのに
良いのではないかと思う。

posted by genki genki on Tue 5 Feb 2008 at 22:27 with 0 comments