< 前のページ次のページ >
2006年 11月
bcpでテーブル情報を出力 [2006-11-10 15:39 by respection]
リソースDLLによるSQLServerの監視 [2006-11-10 11:44 by respection]
Virtual Server Writer [2006-11-02 14:10 by respection]
IISがService Unavailable [2006-11-01 11:01 by respection]
bcpでテーブル情報を出力
C:>bcp "adventureworks.production⋅location" out c:\output.csv -c -t "," -T
(ドットlocation)がエキサイトに引っかかる・・・)
bcpコマンドではテーブルからデータを取得する事が出来る。エキスポート専門ではなくインポートも出来るが今回はエキスポートが目的です。

outでテーブルからファイルへのデータ出力し指示しており、inでインポート、queryでTransact-SQLを使用する事を示し、formatを使用するとフォーマットファイルの作成を指示する。
-cでデータを文字データ型と指定している。-nを使用するとDB内で格納されているデータ型で出力され、-wでUnicodeとして出力する。-NはANSI拡張文字を使用しているときに使用する。-6は6.0と6.5の時との互換性の為に残されている。
-tはデリミタを指定する。今回はカンマを使用する事を指示している。-tだけだとタブとなる。
# by respection | 2006-11-10 15:39 | SQL Server | Trackback | Comments(0)
リソースDLLによるSQLServerの監視
MSCS上にSQLServerを構成するとSQLServerの死活監視を行うDLLが登録される。

SQLServer 2005では2つのリソースDLLが登録される。SQSRVRES.DLLはSQLServreを監視する為のリソースDLLであり、SQAGTRES.DLLはSQLServer Agentを監視する為のリソースDLLである。
リソースDLLは2種類の監視を行う事が一般的であり、簡単な監視を行うLooksAliveとより詳細な監視を行うIsAliveがそれにあたる。SQSRVRES.DLLとSQAGTRES.DLLはそれぞれデフォルトで、LooksAliveを5秒間隔に実行しIsAliveを60秒間隔で実行している。

SQSRVRES.DLLが行う2種類の監視で何を行っているのかというと非常に簡単な処理である。
まずLooksAliveは、サービスコントロールマネージャ(SCM)経由でSQLServerサービスが起動している事を監視している。そして、IsAliveではSQLServerに接続し@@Servernameクエリを実行し、そのクエリが成功する事を判断材料として監視している。(ちなみにSQLServer6.5では"probe"というユーザー名で行われていた。)

ということで、SQLServerのリソースDLLによる監視では、ユーザーデータベースの障害などはフェイルオーバーのイベントとはならない。最もユーザーデータベースだけに障害が起こったときは、単純にフェイルオーバーを行えばよいというものではないので理解も出来る。
そういう場合はACABとかを使うしかないのかなぁ。
# by respection | 2006-11-10 11:44 | SQL Server | Trackback | Comments(0)
Virtual Server Writer
Virtual Server 2005 R2 SP1はVSS対応といいうことでVSSに対応したライタが登録されている。
C:>vssadmin list writers
--------Cut--------
ライタ名: 'Microsoft Virtual Server 2005 Writer'
ライタ Id: {76afb926-87ad-4a20-a50f-cdc69412ddfc}
ライタ インスタンス Id: {e270951c-4ef2-40bd-bd6a-e0edda13aa6e}
状態: [1] 安定
最後のエラー: エラーなし


これで仮想マシンが稼働していても、いろいろ考えずにバックアップすることができる。
そんだけ。
# by respection | 2006-11-02 14:10 | Virtual Server 2005 | Trackback | Comments(0)
IISがService Unavailable
Windows Server 2003にVritual Server 2005 R2をインストールして、管理コンソールを開くと"Service Unavailable"となってしまった。

という事で原因調査するとアプリケーションプールが停止しており、そのアプリケーションプールで稼働するVirtual ServerのWebアプリも停止しているという状況なのがわかった。



イベントログを見てみるとエラーと警告が表示されている。
イベントの種類:エラー
イベント ソース:W3SVC
イベント カテゴリ:なし
イベント ID:1002
日付:2006/11/01
時刻:00:26:53
ユーザー:N/A
コンピュータ:TEST0303
説明:
アプリケーション プールを提供しているプロセス内での一連のエラーのため、アプリケーション プール 'DefaultAppPool' は自動的に無効になっています。


イベントの種類:警告
イベント ソース:W3SVC
イベント カテゴリ:なし
イベント ID:1009
日付:2006/11/01
時刻:00:26:53
ユーザー:N/A
コンピュータ:TEST03
説明:
アプリケーション プール 'DefaultAppPool' を提供しているプロセスが突然終了しました。プロセス id は '3748' でした。プロセス終了コードは '0xffffffff' でした。


こんな時はイベントソースとイベントIDを元にサポートで検索してみる。そうすると簡単にヒットする。ちなみに、機械翻訳を見るより英文読んだ方がわかりやすい。
KB:Error message when you try to view a Web site that is hosted on IIS 6: "Service unavailable"

という事で、この場合はSP1の再インストールをすると直りました。

なんかこの辺はおかしいんですよね。素の2003にSP1を適用して、その後にIIS6をインストールすると、元のメディアとSP1のメディアを要求されます。SP1のメディア要求の際にCDをセットしても、必要なファイルはcabで圧縮されている為見つけられずエラーとなるという事があります。本来であれば、OSのシステムディレクトリに中に格納されているはずなので要求される事はないと思うのですが。まぁ、このときは/xで解凍してそこを指定すれば問題なく進みますがね。
# by respection | 2006-11-01 11:01 | Windows Server 2003 | Trackback | Comments(0)
< 前のページ 次のページ >