Audit Broker Conversation イベント クラス

SQL Server では、Audit Broker Conversation イベントを作成して、Service Broker のダイアログ セキュリティに関連した監査メッセージを報告します。

Audit Broker Conversation イベント クラスのデータ列

データ列

説明

列番号

フィルターの適用

ApplicationName

nvarchar

SQL Server のインスタンスへの接続を作成したクライアント アプリケーションの名前。 この列には、プログラムの表示名ではなく、アプリケーションによって渡された値が格納されます。

10

BigintData1

bigint

メッセージのメッセージ シーケンス番号。

52

不可

ClientProcessID

int

クライアント アプリケーションが実行されているプロセスに対し、ホスト コンピューターによって割り当てられた ID。 クライアントでクライアント プロセス ID が指定されると、このデータ列に値が格納されます。

9

DatabaseID

int

USE database ステートメントで指定されたデータベースの ID、または特定のインスタンスについて USE database ステートメントが実行されていない場合は既定のデータベースの ID となります。 SQL Server Profiler では、Server Name データ列がトレースにキャプチャされ、そのサーバーが利用可能な場合、データベースの名前が表示されます。 データベースに対応する値は、DB_ID 関数を使用して特定します。

3

Error

int

(このイベントによってエラーが報告された場合) SQL Server エラー番号。

31

不可

EventClass

int

キャプチャされたイベント クラスの種類。 Audit Broker Conversation の場合は、常に 158 です。

27

不可

EventSubClass

int

イベント サブクラスの種類です。各イベント クラスについての詳細な情報を提供します。 次の表に、このイベントのイベント サブクラス値を示します。

21

FileName

nvarchar

ログインの失敗理由。 ログインに成功した場合、この列は空です。

36

不可

GUID

uniqueidentifier

ダイアログのメッセージ交換 ID。 この ID はメッセージの一部として転送され、メッセージ交換の両側で共有されます。

54

不可

HostName

nvarchar

クライアントを実行しているコンピューターの名前。 このデータ列には、クライアントがホスト名を指定している場合にデータが格納されます。 ホスト名を特定するには、HOST_NAME 関数を使用します。

8

IntegerData

int

メッセージのフラグメント番号。

25

不可

NTDomainName

nvarchar

ユーザーが属している Windows ドメイン。

7

NTUserName

nvarchar

このイベントが生成された接続を所有するユーザーの名前。

6

ObjectId

int

対象サービスのユーザー ID。

22

不可

RoleName

nvarchar

メッセージ交換ハンドルのロール。 initiator または target のいずれかです。

38

不可

ServerName

nvarchar

トレースされる SQL Server のインスタンスの名前。

26

不可

Severity

int

(このイベントによってエラーが報告された場合) SQL Server エラーの重大度。

29

不可

SPID

int

クライアントに関連付けられているプロセスに、SQL Server によって割り当てられているサーバー プロセス ID。

12

StartTime

datetime

(取得できた場合) イベントが開始された時刻。

14

State

int

SQL Server のソース コード内のイベントが生成された場所を示します。 イベントが生成された場所によって、状態コードが異なることがあります。 マイクロソフトのサポート エンジニアはこの状態コードを使用して、イベントが生成されたソース コード内の場所を特定することができます。

30

不可

TextData

ntext

  • エラーの場合、失敗理由を説明するメッセージが格納されます。 次の値のいずれかになります。

  • 証明書が見つかりませんでした : ダイアログ プロトコル セキュリティに指定されたユーザーが証明書を持っていません。

  • 無効な期間です : ダイアログ プロトコル セキュリティに指定されたユーザーは証明書を持っていますが、その証明書の有効期限が切れています。

  • 証明書のサイズが、メモリ割り当てに対して大きすぎます : ダイアログ プロトコル セキュリティに指定されたユーザーは証明書を持っていますが、その証明書のサイズが大きすぎます。 Service Broker でサポートされる証明書の最大サイズは、32,768 バイトです。

  • 秘密キーが見つかりません : ダイアログ プロトコル セキュリティに指定されたユーザーは証明書を持っていますが、その証明書には秘密キーが関連付けられていません。

  • 証明書の秘密キー サイズと暗号化プロバイダーの互換性がありません : 証明書の秘密キー サイズが、正常に処理できないサイズです。 秘密キー サイズは 64 バイトの倍数である必要があります。

  • 証明書の公開キー サイズと暗号化プロバイダーの互換性がありません : 証明書の公開キー サイズが、正常に処理できないサイズです。 公開キー サイズは 64 バイトの倍数である必要があります。

  • 証明書の秘密キー サイズと暗号化されたキー交換のキーには互換性がありません : キー交換のキーで指定されているキー サイズが、証明書の秘密キーのサイズと一致しません。 これは、一般に、リモート コンピューター上の証明書がデータベース内の証明書と一致しないことを示します。

  • 証明書の公開キー サイズとセキュリティ ヘッダーの署名には互換性がありません : セキュリティ ヘッダーに、証明書の公開キーを使用して検証できない署名が含まれています。 これは、一般に、リモート コンピューター上の証明書がデータベース内の証明書と一致しないことを示します。

1

次の表に、このイベント クラスのサブクラス値を示します。

ID

サブクラス

説明

1

No Security Header

セキュリティで保護されたメッセージ交換時に、Service Broker がセッション キーを含んでいないメッセージを受信しました。 セキュリティで保護されたメッセージ交換が確立されると、ダイアログのプロトコルは、メッセージ交換で使用されるすべてのメッセージにセッション キーが含まれていることを必要とします。

2

No Certificate

メッセージ交換の送信者または受信者のどちらかの使用可能な証明書を Service Broker で検出できませんでした。 メッセージ交換をセキュリティで保護するには、メッセージ交換の送信者と受信者の両方が使用できる証明書がデータベースに格納されている必要があります。

3

Invalid Signature

送信者が送信者の証明書に公開キーを使用して提供したメッセージの署名を Service Broker で確認できませんでした。 これは、メッセージが破損していること、メッセージが改ざんされたこと、リモート サービスとローカル サービスが同じユーザー証明書を使用して構成されていないこと、または証明書の有効期限が切れていることを示している場合があります。

4

Run As Target Failure

送信先のユーザーが送信先のキューに対する受信権限を持っていません。 Service Broker では、許可されていないユーザーがメッセージを受信できないように、キューからメッセージを受け取れないユーザーを送信先とするメッセージをエンキューしません。これは、メッセージの送信元のユーザーにメッセージをエンキューする権限があるかどうかとは無関係です。

関連項目

概念

SQL Server Service Broker