次の方法で共有


サンプルのトラブルシューティング

必要なソフトウェアがインストールされていなかったり、サンプルが正しく構成されていないと、サンプルのビルドまたは実行時に複数のエラーが発生する可能性が高くなります。

一般的なエラー

Notification Services のサンプルで発生する一般的なエラーとその推奨解決方法を次の表に示します。

エラー メッセージ アクション

Notification Services は、SQL Server のエディションを取得できませんでした。

インスタンス構成ファイル (ICF) パラメータで指定された Microsoft SQL Server インスタンス名が、既知のインスタンス名または接続先の SQL Server のインスタンスと一致しませんでした。再度インスタンスの作成し、パラメータ名が有効であることを確認します。

指定した Notification Services のインスタンスのレジストリ エントリが見つかりませんでした。

(AddSubscribersAddSubscriptionsAddNonHostedEvent などのサンプル) アプリケーションで指定されたインスタンスがローカル コンピュータに登録されていません。サンプルの説明に従ってインスタンスを登録済みであること、およびインスタンス名がアプリケーション内で正しいことを確認します。

イベント コレクタは、新しいイベント バッチを開始できませんでした。

Notification Services のインスタンスが有効になっていることを確認します。インスタンスの有効化は、作成時に (サンプルの説明で指定されたとおり) 行うことができます。またはインスタンスを右クリックし、[有効化] をクリックして行います。

このインスタンスでは、サブスクライバの追加、更新、または削除が無効です。

Notification Services のインスタンスが有効になっていることを確認します。インスタンスの有効化は、作成時に (サンプルの説明で指定されたとおり) 行うことができます。またはインスタンスを右クリックし、[有効化] をクリックして行います。

サブスクリプションを追加できませんでした。サブスクライバが NSSubscribers テーブル内に見つかりませんでした。

AddSubscriptions プロジェクトを実行する前に AddSubscribers プロジェクトを実行します。サブスクライバがインスタンス データベースにある場合、このエラーを受信することはありません。

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

プロジェクトのビルドまたは実行に使用しているアカウントが、必要な権限を持っていません。詳細については、「Notification Services のセキュリティの設定」を参照してください。

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

イベント、サブスクライバ、またはサブスクリプションを追加するプログラムの実行に使用するアカウントは、インスタンス データベースおよびアプリケーション データベースにはユーザー アカウントを持っていません。これらのデータベースを作成した場合、アカウントのロールは db_owner なので、このエラーが発生することはありません。それ以外の場合は、アカウントをインスタンス データベース ユーザーおよびアプリケーション データベース ユーザーに追加し、db_owner データベース ロールまたは NSSubscriberAdmin データベース ロールと NSEventProvider データベース ロールを結合させて権限を許可します。

Notification Services は、列のローケル情報を取得できませんでした。

イベント、サブスクライバ、またはサブスクリプションを追加するプログラムの実行に使用するアカウントは、このデータをインスタンス データベースおよびアプリケーション データベースに追加する権限を持っていません。アカウントが、データベース ロール db_owner のメンバであるか、データベース ロール NSSubscriberAdmin および NSEventProvider メンバであることを確認してください。

参照

その他の技術情報

SQL Server Notification Services サンプル
Notification Services のトラブルシューティング

ヘルプおよび情報

SQL Server 2005 の参考資料の入手