IIS で ODBC のログ出力を構成する方法

文書翻訳 文書翻訳
文書番号: 245243 - 対象製品
この記事は、以前は次の ID で公開されていました: JP245243
マイクロソフトでは、Microsoft Windows Server 2003 で実行される Microsoft インターネット インフォメーション サービス (IIS) 6.0 にアップグレードすることを、すべてのユーザーに強く推奨します。IIS 6.0 により、Web インフラストラクチャのセキュリティが大幅に強化されます。IIS のセキュリティ関連のトピックについては、次のマイクロソフト Web サイトを参照してください。
http://www.microsoft.com/japan/technet/security/prodtech/IIS.mspx
すべて展開する | すべて折りたたむ

目次

概要

Internet Information Server (IIS) 4.0、インターネット インフォメーション サービス (IIS) 5.0、およびインターネット インフォメーション サービス (IIS) 6.0 では、ODBC (Open Database Connectivity) のログ出力機能を構成して、ローカルの Microsoft Access データベース、またはローカルあるいはリモートの Microsoft SQL Server データベースにログを記録できます。

テーブルを作成する

Microsoft Access または SQL Server のデータベースを作成します。この操作を行うには、「SQL スクリプトを実行してテーブルの作成を自動化する」に記載されている手順を実行するか、「テーブル ‐ フィールドの形式」に記載されているフィールドを使用して手動でテーブルを作成します。インターネット サービス マネージャ (ISM) Microsoft 管理コンソール (MMC) の [ODBC ログ プロパティ] ページでは、デフォルトのテーブル名が InternetLog となっています。

: これらの手順は、Web サーバー上の WWW (World Wide Web) または FTP (File Transfer Protocol) に関するログ出力に使用することができます。

SQL スクリプトを実行してテーブルの作成を自動化する

SQL Server を実行しているコンピュータでは、IIS に含まれている Logtemp.sql という名前の Transact-SQL スクリプトを使用して、IIS ODBC ログ テーブルを作成できます。この操作を行うには、以下の手順を実行します。
  1. SQL Server を実行しているコンピュータで、管理者のアクセス許可のあるユーザー アカウントとしてサーバーにログオンします。
  2. SQL Server クエリ アナライザを開きます。
  3. [ファイル] メニューの [開く] をクリックします。
  4. %Windir%\System32\Inetsrv フォルダに移動します。
  5. [Logtemp.sql] をクリックし、[開く] をクリックします。
  6. Logtemp.sql スクリプトの最初の行で、inetlog を InternetLog に置き換えます。
  7. データベースを選択して、InternetLog テーブルを作成します。デフォルトのデータベースは Master ですが、マイクロソフトでは、このデータベースを使用することを推奨していません。
  8. [クエリ] メニューの [実行] をクリックします。

テーブル - フィールドの形式

フィールド名 : ClientHost
データ ソース/種類 : Varchar(255)
説明 : クライアント IP アドレス

フィールド名 : Username
データ ソース/種類 : Varchar(255)
説明 : クライアントのユーザー名。ページがパスワードによって保護されていない場合は、常に匿名のユーザー名。

フィールド名 : LogTime
データ ソース/種類 : Datetime
説明 : ログ エントリが作成された日時

フィールド名 : Service
データ ソース/種類 : Varchar(255)
説明 : サービスの名前。WWW、FTP など。

フィールド名 : Machine
データ ソース/種類 : Varchar(255)
説明 : サーバー名

フィールド名 : ServerIP
データ ソース/種類 : Varchar(255)
説明 : サーバー IP アドレス

フィールド名 : ProcessingTime
データ ソース/種類 : Int
説明 : 要求の処理にかかった時間 (ミリ秒)

フィールド名 : BytesRecvd
データ ソース/種類 : Int
説明 : 受信バイト数

フィールド名 : BytesSent
データ ソース/種類 : Int
説明 : 送信バイト数

フィールド名 : ServiceStatus
データ ソース/種類 : Int
説明 : サービス ステータス (200 など)

フィールド名 : Win32Status
データ ソース/種類 : Long Integer
説明 : Windows NT ステータス コード。通常、0 は正常。

フィールド名 : Operation
データ ソース/種類 : Varchar(255)
説明 : 操作またはコマンドの種類。FTP 用の USER、WWW 用の GET など。

フィールド名 : Target
データ ソース/種類 : Varchar(255)
説明 : 操作の対象。Default.htm など。

フィールド名 : Parameters
データ ソース/種類 : Varchar(255)
説明 : 操作に対するパラメータ。CGI を起動するための名前と値のペア、または ISAPI 拡張。FTP コマンド USER の場合は、ユーザー名。

システム DSN を作成する

: この例では、SQL Server 7.0 を使用しています。
  1. IIS コンピュータで、コントロール パネルを開き、[データ ソース (ODBC)] をダブルクリックし、[システム DSN] タブをクリックし、[追加] をクリックします。
  2. [データ ソースの新規作成] ウィンドウで、[SQL Server] をクリックし、[完了] をクリックします。
  3. [名前] ボックスに HTTPLOG と入力し、[説明] ボックスに説明を入力します。次に、接続する SQL サーバーをクリックし、[次へ] をクリックします。SQL サーバーが同じコンピュータ上である場合は、[(local)] をクリックします。
  4. 作成ウィザードで、SQL Server を実行しているコンピュータについて、[ネットワークへのログイン ID で、Windows NT の認証メカニズムを使う] がオンになっていることを確認します。クライアントの構成を確認して、デフォルトの [名前付きパイプ] の設定を使用します。SQL サーバーの名前が正しいことを確認し、[OK] をクリックします。
  5. [次へ] をクリックします。
  6. 既定のデータベースを、テンプレート テーブルが存在するデータベースに割り当てます。[次へ] をクリックします。
  7. 必要に応じて、ウィザードで [実行時間が長いクエリを以下のログ ファイルに保存する] チェック ボックスおよび [ODBC ドライバの統計情報ログを以下のログ ファイルに保存する] チェック ボックスをオンにします。
  8. [完了] をクリックします。
  9. ウィザードの終わりで、[データ ソースのテスト] をクリックします。SQL Server を実行しているコンピュータに正常に接続できることを確認し、[OK] をクリックして終了します。

ODBC ログ用に IIS を構成する


  1. ISM MMC で Web サイトを右クリックし、[プロパティ] をクリックします。
  2. [Web サイト] タブをクリックします。
  3. [アクティブ ログ形式] ボックスの一覧で、[ODBC ログ] をクリックします。SQL Server を実行しているコンピュータに割り当てられているシステム DSN をセットアップした際に Windows NT 統合認証を選択していた場合は、[ODBC ログ プロパティ] ページのユーザー名とパスワードを無視してもかまいません。
  4. [適用] をクリックし、[OK] をクリックします。

    : [ODBC ログ プロパティ] ページでアカウントが指定されている場合、SQL Server ログ テーブルの Username フィールドには、空白またはダッシュ (-) が表示されます。ドメイン アカウントが使用されている場合、アカウント名が表示されます。

  5. [ODBC ログ プロパティ] ページでアカウントが指定されている場合は、ISM MMC で該当の Web サイトを右クリックし、[停止] をクリックして、Web サイトを停止します。
  6. [ODBC ログ プロパティ] ページでアカウントが指定されている場合は、ISM MMC で対象の Web サイトを右クリックし、[開始] をクリックして、Web サイトを再開します。

ODBC ログに関する推奨事項

  • マイクロソフトでは、IIS コンピュータが負荷の高いサーバーである場合は、IIS のログを SQL Server テーブルに記録することを推薦していません。SQL Server データベースに負荷の高い Web サイトのログ データを送信すると、システム リソースが消費されます。この場合は、後で IIS ログを SQL データベースにインポートすることができます。 SQL への IIS ログのインポートの関連情報を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。
    296085 SQL Server を使用して Web ログを解析する方法
    296093 [IIS]FILE: SQL 一括挿入用の IIS ログを準備するための PrepWebLog ユーティリティ
  • ログ出力のデフォルトの構成では、SQL Server 接続に名前付きパイプが使用されます。SQL Server を実行しているリモート コンピュータを使用する場合に、SQL Server 接続のために TCP/IP を構成することが必要な場合があります。

トラブルシューティング

InternetLog テーブルが正しく構成されていないか、適切なユーザーに InternetLog テーブルへの適切なアクセス許可が付与されていない場合、イベント ビューアのシステム ログに、ソースが IISLOG のイベント ID 5 またはイベント ID 6 のいずれか、あるいはその両方が表示されることがあります。

: 他のデータベース システムでは、システム DSN を構成してログ出力の形式に必要なフィールドが格納されているデータベースとテーブルをリンクし、「ODBC ログ用に IIS を構成する」に記載されている手順を実行してログ出力の設定を行う必要があります。

関連情報

ODBC ログの問題の関連情報を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。
149398 [IIS]SQL Server データベースに IIS のログを記録することができない
192293 [IIS]IIS が SQL との通信失敗後 ODBC ロギングを停止する
256839 [IIS] ODBC ログ使用時に長い URL リクエストやパラメータがログに記録されない
SQL への IIS ログのインポートの関連情報を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。
296085 SQL Server を使用して Web ログを解析する方法
296093 [IIS]FILE: SQL 一括挿入用の IIS ログを準備するための PrepWebLog ユーティリティ

プロパティ

文書番号: 245243 - 最終更新日: 2007年12月4日 - リビジョン: 5.1
この資料は以下の製品について記述したものです。
  • Microsoft Internet Information Server 4.0
  • Microsoft Internet Information Services 5.0
  • Microsoft Internet Information Services 6.0
キーワード:?
kbhowtomaster KB245243
"Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。"

フィードバック

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com