2011年12月16日金曜日

SQL Anywhere データベースをWindowsサービスにする

SQL Anywhere をWindowsサービスとして登録するにはdbsvcコマンドを使う。

このコマンドにはいろいろオプションがあるが、自分がよく使うのは次のようなやり方である。
dbsvc -as -s auto -w {サービス名} {実行するコマンド} {コマンド引数}...


引数に設定する値の意味は次のとおり。

-as
サービスをWindowsのローカル管理者アカウントで動かす
-s auto
スタートアップの種類を自動にする
-w
登録するサービスの名前(表示名は「SQL Anywhere - 名前」になる)、実行するコマンドとその引数を記述する


たとえば以下のように設定すると、サービス "SQL Anywhere - mydb"を自動起動で作成する。データベースは64bit版のdbsrv12.exeで起動する。
dbsvc -as -s auto -w mydb "%SQLANY12%\Bin64\dbsrv12.exe" "C:\Temp\mydb.db" -x tcpip(port=5440;DoBroadcast=No) -ti 0 -n mydb


実行するコマンドやデータベースファイルのパスは必ず絶対パスで書くこと。実行コマンド以降はすべてコマンドの引数である。この部分はdbsrv12.exeを普通に実行するときと同じ。

最後に忘れてはいけないこと・・・
登録しただけでは動かないので、サービスの管理画面や net start コマンドを使って起動してください。

0 件のコメント:

コメントを投稿