Share via


Notification Services のイベントの原因と解決方法

更新 : 2006 年 7 月 17 日

Notification Services のイベントは、エラー、警告、情報、および詳細の 4 つに分類されます。Notification Services がどの種類のイベントをアプリケーション ログへ書き込むかを構成するには、これらの分類を使用します。イベント ログの構成方法については、「Notification Services イベント ログ記録の構成」を参照してください。

イベントの種類

次の表は、イベント ID の範囲、各範囲内でのイベントの説明、およびイベント ビューアに示されたイベントの種類について示しています。

イベント ID の範囲 説明 イベントの種類

0 ~ 9999

拡張されたストアド プロシージャを除くすべてのソースからのエラー

エラー

10000 ~ 19999

すべてのソースからの警告

警告

20000 ~ 29999

すべてのソースからの情報

情報

30000 ~ 39999

すべてのソースからの詳細情報

情報

ログ監視アプリケーションを使用している場合、0 ~ 19999 の範囲のエラーおよび警告を監視する必要があります。情報イベントの監視はそれほど重要ではありませんが、サービスの開始および停止などの特定の操作を追跡するために通常は監視を行います。

ms164113.note(ja-jp,SQL.90).gifメモ :
一意のイベント ID を使用して、イベントを監視します。ロケールの設定や将来のバージョンの Notification Services でテキストが変更される場合があるので、特定のテキストに対するイベント説明は解析しないでください。

イベントの原因と解決方法

次の一覧に、Notification Services で最もよく発生するイベントと、それらのイベントの解決方法を示します。

イベント番号 メッセージ、原因、および解決方法

1006

要求されたデータベースを開けませんでした。

原因

このエラーは、SQL Server エラー 4060 に対応しています。このエラーは、現在のユーザーが指定されたデータベースにログインするための十分な権限を持っていないことを示しています。

このエラーのイベント ログ エントリには、エラーの原因となった SQL Server エラーの説明が含まれています。具体的には次のような説明が含まれます。

    このログインで要求されたデータベース 'database_name' を開けません。ログインに失敗しました。

解決方法

Notification Services によって使用されるアカウントが、エラー メッセージに記載されているデータベースの SQL Server ログイン アカウントと権限を持っているかどうかを確認します。詳細については、「Notification Services のインスタンスの SQL Server 権限の構成」を参照してください。

1008

指定した照合順序名が無効です。有効な名前については、SQL Server Books Online を参照してください。

原因

このエラーは、SQL Server エラー 448 に対応しています。このエラーは、指定された照合順序名 (通常はアプリケーション定義で指定されます) が無効であることを示しています。

このエラーのイベント ログ エントリには、エラーの原因となった SQL Server エラーの説明が含まれています。具体的には次のような説明が含まれます。

    照合順序 'collation_name' が無効です。

解決方法

アプリケーション定義のいくつかの部分で、照合順序を指定できます。イベント ログ エントリに記載されている collation_name 情報を検索し、その名前を有効な照合順序名に置き換えます。照合順序の並べ替えの詳細については、「COLLATE (Transact-SQL)」を参照してください。

1009

Transact-SQL ステートメントが完了する前にタイムアウト期間が経過しました。

原因

このエラーは、クエリまたはストアド プロシージャが指定されたタイムアウト期間内に完了しなかった場合に発生します。これは通常、SQL Server がビジーであることを示しています。イベント ルールまたはサブスクリプション ルールの実行がアプリケーション定義で指定されたタイムアウト期間内に完了しなかった場合は、別のエラー メッセージが返されます。

このエラーのイベント ログ エントリには、エラーの原因となった実際のエラーの説明が含まれています。

解決方法

イベント ログ エントリを調べて、タイムアウトした操作の詳細情報を確認します。

無効データ削除が原因でこのエラーが発生した場合、有効期限が切れたイベントと通知の削除が必要になることがあります。詳細については、「古いアプリケーション データの削除」を参照してください。

Notification Services では、多くの操作に 30 秒のタイムアウト値が使用されます。できる限り、影響を受ける操作の処理を減らし、その操作が 30 秒以内に完了するようにしてください。

1010

メイン インスタンス データベースとアプリケーション データベースの照合順序が一致しません。

原因

このエラーは、SQL Server エラー 446 に対応しています。このエラーは、指定された操作に、照合順序が一致しないオブジェクトが渡されたことを示しています。

このエラーのイベント ログ エントリには、エラーの原因となった実際のエラーの説明が含まれています。具体的には次のような説明が含まれます。

operation_name 操作での照合順序の競合を解決できません。

解決方法

イベント ログ エントリを調べて失敗した操作を特定し、指定された操作に渡される引数の照合順序が一致しているかどうかを確認します。たとえば、同じテーブルにそれぞれギリシャ語とラテン語の照合順序が設定された 2 つの列が存在する場合、次のような WHERE 句によってこのエラーが発生します。

    WHERE GreekCol = LatinCol

返されるエラーには、次のような説明が追加されます。

    等しい操作での照合順序の競合を解決できません。

システムを正常に稼動させるには、このエラーで示されている問題を解決する必要があります。

詳細については、「COLLATE (Transact-SQL)」を参照してください。

1011

SQL Server にログインできませんでした。

原因

このエラーは、SQL Server エラー 18456 に対応しています。このエラーは、ユーザーがログインするための適切な権限を持っていないことを示しています。

このエラーのイベント ログ エントリには、エラーの原因となった SQL Server エラーの説明が含まれています。具体的には次のような説明が含まれます。

    ユーザー user_name はログインできませんでした。

解決方法

エラー メッセージに記載されているユーザーに適切な権限が与えられているかどうかを確認します。

詳細については、「一般的な Notification Services の問題の解決」を参照してください。

2009

Notification Services は、イベント プロバイダのインスタンスを作成できませんでした。

原因

Notification Services がイベント プロバイダのインスタンスを作成できませんでした。このエラーは、カスタム イベント プロバイダが .NET Framework のバージョン 2.0.50727 でビルドされていない場合に発生することがあります。Notification Services とカスタム コンポーネントで使用されている .NET Framework のバージョンが異なっていると、クラス ライブラリの違いが原因でアプリケーション エラーが発生する場合があります。

解決方法

カスタム コンポーネントをビルドするときに、できる限り .NET Framework のバージョン 2.0.50727 を使用します。カスタム コンポーネントを他のバージョンの .NET Framework でビルドする必要がある場合は、Notification Services でも同じバージョンを使用するように指定できます。これを行うには、NSService.exe.config ファイルに <startup> ノードを追加します。このファイルは Notification Services の vN.N.N.N\Bin フォルダにあります。次に <startup> ノードの例を示します。

<?xml version="1.0" encoding="UTF-8"?>

<configuration>

<startup>

<supportedRuntime version="v2.1"/>

<supportedRuntime version="v2.0.50727"/>

</startup>

...

<supportedRuntime> 要素により、Notification Services で使用できる .NET Framework のバージョンが制限されます。Notification Services は、このノードに列挙された順序で .NET Framework のバージョンを読み込もうとします。上記の例の場合、まず Notification Services は .NET Framework のバージョン 2.1 を読み込もうとします。このバージョンが使用できない場合、Notification Services は .NET Framework のバージョン 2.0.50727 を読み込もうとします。バージョン 2.1 は実在しないバージョン番号なので注意してください。ここでは、説明のためだけに使用しています。

NSService.exe.config に加えた変更を適用するには、Notification Services のインスタンスを再起動する必要があります。

2023

指定されたイベント プロバイダ クラス名が、指定されたアセンブリ内に見つかりませんでした。アセンブリ定義で指定されているクラス名とアセンブリ名が正しいことを確認してください。

原因

このエラーは、アプリケーション定義の Providers 設定に指定されたアセンブリに、指定されたイベント プロバイダ クラスが含まれていないことが原因で、プロバイダ ホストがイベント プロバイダを開始しない場合に発生します。このエラーが発生した場合、イベント プロバイダは実行されません。

Notification Services では、アプリケーション定義の AssemblyName プロパティに指定されているアセンブリを読み込んでから、ClassName プロパティに指定されている種類のオブジェクトを作成することにより、イベント プロバイダのインスタンスを作成します。このエラーは、Notification Services が、指定された DLL から指定されたクラスのインスタンスを作成できなかったことを示しています。AssemblyName プロパティに間違った DLL が指定されていたり、ClassName プロパティに間違ったクラスが指定されていることがよくあります。

このエラーのイベント ログ エントリには、スローされた例外の説明が含まれています。

解決方法

まず、ClassName プロパティと AssemblyName プロパティが正しく指定されていることを確認します。変更を加える場合は、Notification Services アプリケーションを更新してからイベントを有効にします。その後、プロバイダ ホストによってイベント プロバイダの再起動が試行されます。更新中にサービスが停止した場合は、サービスが再起動されたときにイベント プロバイダの再起動が試行されます。

4012

現在の実時間を含んでいる完了したクォンタムがあります。

原因

通常の運用では、Notification Services によって処理される時間間隔は過去の時間になります。このエラーは、データベースをホストしているサーバーのシステム クロックが変更されたときに最も多く発生すると考えられます。

解決方法

データベース システムのクロックを正しい時間にリセットします。

6007

配信プロトコルを含んでいるアセンブリを読み込めませんでした。

原因

このエラーは、カスタム配信プロトコル用に指定されたアセンブリをディストリビュータが読み込めない場合に発生します。

解決方法

インスタンス構成の Protocols プロパティを調べて、カスタム プロトコル用に指定されているアセンブリ名が正しいかどうかを確認します。アセンブリ名は完全なパスで指定する必要があります。たとえば、アセンブリが C:\bin\CustomComponents ディレクトリにある myprotocol.dll の場合は、そのアセンブリ名を C:\bin\CustomComponents\myprotocol.dll と指定します。

指定するアセンブリ名は、有効なマネージ コード アセンブリを指している必要があります。指定するファイルがマネージ コード アセンブリであるかどうかは、Microsoft .NET Framework SDK に含まれている ildasm.exe ツールでそのファイルを開くことによって確認できます。

9028

アセンブリのバージョンとデータベースのバージョンが一致しません。

原因

このイベントは、Notification Services のバージョンがインスタンス データベースに格納されているバージョンと一致しない場合に発生します。

Notification Services では、サービス実行可能ファイル (NSService.exe) のバージョンが、最後に変更 (作成、更新、またはアップグレード) されたデータベースのバージョンと一致している必要があります。イベント ログ エントリには、サービス実行可能ファイルのバージョンを示す AssemblyVersion、および DatabaseVersion が含まれています。

解決方法

この問題の解決方法として、次の 3 つが挙げられます。

  • インスタンス データベースとバージョンが一致するサービス実行可能ファイルを実行します。
  • インスタンス データベースをサービス実行可能ファイルのバージョンにアップグレードします。詳細については、「Notification Services インスタンスの移行」を参照してください。
  • インスタンス データベースを再作成します。インスタンス内にあるすべての情報が失われるため、この方法は最後の手段として使用してください。

9041

データベースは、別のエディションの Notification Services を使用して作成されたか、または別のエディションの Notification Services にアップグレードされました。データベースで想定されているエディションの Notification Services を使用してください。

原因

このイベントは、Notification Services のエディション (Standard や Enterprise など) がインスタンス データベースに格納されているエディションと一致しない場合に発生します。

Notification Services では、サービス実行可能ファイル (NSService.exe) のエディションがインスタンス データベースに格納されているエディションと一致している必要があります。イベント ログ エントリの説明には、サービス実行可能ファイルのエディションを示す Notification Services のエディション、およびデータベースのエディションが含まれます。この 2 つの値が一致している必要があります。

解決方法

この問題の解決方法として、次の 3 つが挙げられます。

  • インスタンス データベースのエディションと一致するエディションの NSService.exe ファイルがある場合は、その NSService.exe を実行します。
  • インスタンス データベースのエディションが NSService.exe ファイルより古い場合は、インスタンス データベースを NSService.exe ファイルのエディションにアップグレードします。詳細については、「Notification Services インスタンスの移行」を参照してください。
  • 最後の手段として、インスタンス データベースを再作成します。この操作を行うと、インスタンス内にあるすべての情報が削除されることに注意してください。

16001

配信チャネルで多数のエラーが連続して発生したことにより、作業項目の処理は停止されました。

原因

この警告は、多数の配信エラーが連続して発生したことにより、ディストリビュータが作業項目の処理を停止した場合に発生します。この警告は、配信チャネルに長期にわたるエラー状態が存在することを示しています。

解決方法

各通知の配信状態を調べて、配信エラーの特徴と、エラー状態を修正するために必要な操作を判断します。

配信エラーがいくつ連続して発生したらディストリビュータが作業項目の処理を中止するかを制御できます。これを行うには、通知クラスでサポートされているプロトコルごとに、アプリケーション定義の ProtocolExecutionSettings セクションにある FailuresBeforeAbort 設定の値を指定します。このプロパティに値を指定しなかった場合は、既定値の 20 が使用されます。

4093 ~ 4099

パフォーマンス カウンタを更新できませんでした。

原因

Notification Services がパフォーマンス カウンタを更新できませんでした。Notification Services は次回のクォンタム間隔でカウンタの更新を試行します。

このエラーが何度も発生する場合は、Notification Services のパフォーマンス カウンタが破損していて、その破損が修復されるまでパフォーマンス カウンタが更新されない可能性があります。パフォーマンス カウンタが破損する原因には、レジストリ エントリの破損や、他のパフォーマンス モニタ DLL の問題などがあります。

解決方法

Windows パフォーマンス カウンタを更新する必要がない場合は、この警告を無視しても問題ありません。推奨される解決方法と追加情報については、サポート技術情報の資料「壊れてある Notification Services パフォーマンス カウンタを解決します。」を参照してください。

参照

処理手順

Notification Services のイベントの表示

概念

Notification Services のイベント形式

その他の技術情報

Notification Services のエラーおよびイベント
イベント メッセージの使用

ヘルプおよび情報

SQL Server 2005 の参考資料の入手

変更履歴

リリース 履歴

2006 年 7 月 17 日

変更内容 :
  • 一般的なイベント メッセージとそれらの解決方法を記載した一覧を追加しました。