カスタム ログ プロバイダの作成

Integration Services ランタイム環境には広範なログ記録機能があります。ログを使用すると、パッケージの実行中に発生するイベントをキャプチャできます。Integration Services では、さまざまなログ プロバイダを使用でき、ログを作成して XML、テキスト、データベースなどの形式で保存したり、Windows イベント ログに格納できます。これらのログ プロバイダまたは出力形式の中に要件を満たすものがない場合は、カスタム ログ プロバイダを作成できます。

カスタム ログ プロバイダの作成手順は、Integration Services の他のカスタム オブジェクトの作成手順と同様です。

  • 基本クラスを継承する新しいクラスを作成します。ログ プロバイダ用の基本クラスは LogProviderBase です。
  • クラスに、オブジェクトの種類を識別する属性を適用します。ログ プロバイダ用の属性は DtsLogProviderAttribute です。
  • 基本クラスのメソッドとプロパティの実装をオーバーライドします。ログ プロバイダでは、ConfigString プロパティ、OpenLog メソッド、Log メソッド、および CloseLog メソッドが対象です。
  • カスタム ログ プロバイダのカスタム ユーザー インターフェイスは、SQL Server 2005 Integration Services (SSIS) では実装されていません。

カスタム ログ プロバイダの実際のサンプルについては、「HtmlLogProvider サンプル」および「EmailLogProvider サンプル」を参照してください。

カスタム ログ プロバイダの概要

プロジェクトおよびクラスの作成

すべてのマネージ ログ プロバイダは LogProviderBase 基本クラスから派生するため、カスタム ログ プロバイダを作成するには、最初に任意のマネージ プログラミング言語でクラス ライブラリ プロジェクトを作成し、基本クラスを継承するクラスを作成します。この派生クラスで、基本クラスのメソッドとプロパティをオーバーライドして、カスタム機能を実装します。

プロジェクトを構成し、生成するアセンブリを厳密な名前のキー ファイルで署名します。

ms136010.note(ja-jp,SQL.90).gifメモ :
多くの Integration Services ログ プロバイダには、カスタム ユーザー インターフェイスがあります。カスタム ユーザー インターフェイスには IDtsLogProviderUI が実装され、[SSIS ログの構成] ダイアログ ボックスの [構成] ボックスが、使用可能な接続マネージャがフィルタ選択されたドロップダウン リストに置き換えられます。ただし、カスタム ログ プロバイダのカスタム ユーザー インターフェイスは、SQL Server 2005 Integration Services (SSIS) では実装されていません。

DtsLogProvider 属性の適用

作成したクラスに DtsLogProviderAttribute 属性を適用して、そのクラスがログ プロバイダとして識別されるようにします。この属性には、ログ プロバイダの名前や説明など、デザイン時の情報を指定します。この属性の DisplayName プロパティと Description プロパティは、Business Intelligence Development Studio でパッケージのログ記録を構成するときに、[SSIS ログの構成] エディタに表示される [名前] 列と [説明] 列に対応します。

ms136010.note(ja-jp,SQL.90).gif重要 :
この属性の LogProviderType プロパティは使用されません。ただし、このプロパティには値を入力する必要があります。そうしないと、使用可能なログ プロバイダの一覧にカスタム ログ プロバイダが表示されません。
ms136010.note(ja-jp,SQL.90).gifメモ :
SQL Server 2005 Integration Services (SSIS) では、カスタム ログ プロバイダのカスタム ユーザー インターフェイスは実装されていません。そのため、DtsLogProviderAttributeUITypeName プロパティに値を指定しても、影響がありません。
<DtsLogProvider(DisplayName:="MyLogProvider", Description:="A simple log provider.", LogProviderType:="Custom")> _
Public Class MyLogProvider
     Inherits LogProviderBase
    ' TODO: Override the base class methods.
End Class
[DtsLogProvider(DisplayName="MyLogProvider", Description="A simple log provider.", LogProviderType="Custom")]
public class MyLogProvider : LogProviderBase
{
    // TODO: Override the base class methods.
}

カスタム ログ プロバイダの作成、配置、およびデバッグ

Integration Services でカスタム ログ プロバイダを作成、配置、およびデバッグする手順は、その他の種類のカスタム オブジェクトで必要な手順とほとんど同様です。詳細については、「カスタム オブジェクトのビルド、配置、およびデバッグ」を参照してください。

参照

処理手順

カスタム ログ プロバイダのコーディング

概念

カスタム ログ プロバイダ用ユーザー インターフェイスの開発

ヘルプおよび情報

SQL Server 2005 の参考資料の入手