次の方法で共有


チュートリアル : データベース サーバーへのサブスクリプション管理インターフェイスの配置

イントラネットベースの通知アプリケーションの場合は、サブスクリプション管理インターフェイスをインスタンス データベースおよびアプリケーション データベースと同じサーバーに配置することができます。アプリケーションとデータベースを同じサーバーに配置する場合、サブスクリプション管理インターフェイスが Microsoft SQL Server に接続するときに使うドメイン アカウントを作成する必要がないため、配置の手順が簡素になります。

インターネットベースのアプリケーションの場合、通常はファイアウォール内の別のサーバーにデータベースを置いてセキュリティを確保します。

このシナリオでは、ASP.NET ベースのサブスクリプション管理インターフェイスをデータベース サーバー上に配置する方法を示します。ASP.NET アプリケーションからデータベースへのアクセスには、Microsoft Windows 認証を使用します。

前提条件

ASP.NET ベースのサブスクリプション管理インターフェイスを配置する前に、すべての必要条件が満たされていることを確認します。

  • Windows をインストールし、インターネット インフォーメーション サービス (IIS) コンポーネントを追加して、ASP.NET を有効にしていること。手順については、Windows のマニュアルを参照してください。
  • サーバーに ASPNET アカウントが存在すること (Microsoft Windows XP または Microsoft Windows 2000 を使用している場合)。Microsoft .NET Framework のセットアップ プログラムを実行すると、このアカウントが作成されます。ASPNET アカウントが存在しない場合は、以下のコマンドを実行することによってアカウントを作成できます。
    %windir%\Microsoft.NET\Framework\vn.n.nnnn**\ASPNET_REGIIS.exe –i**
  • IIS にアプリケーションを追加済みであり、サブスクリプション管理インターフェイス用のセキュリティをまだ構成していないこと。
  • Notification Services のインスタンスを配置済みであり、それによってデータベース サーバーにインスタンス データベースとアプリケーション データベースが作成されていること。

データベース サーバーでの作業

データベース サーバーで次の手順を実行します。

手順 1 : Notification Services のクライアント コンポーネントのインストール

  • Notification Services のクライアント コンポーネントをデータベース サーバーにインストールします。このサーバーに Notification Services を既にインストールしている場合は、クライアント コンポーネントをインストールする必要はありません。

    コンポーネントのインストールの詳細については、「SQL Server Notification Services のインストール」を参照してください。

手順 2 : Notification Services のインスタンスの登録

  1. [スタート] ボタンをクリックし、[すべてのプログラム][Microsoft SQL Server 2005][Notification Services] を順にポイントします。次に、[Notification Services コマンド プロンプト] をクリックして、Notification Services コマンド プロンプト ウィンドウを開きます。

  2. 以下のコマンドを入力します。インスタンスが登録されます。

    nscontrolregister-nameinstanceName-serverdatabaseServer

手順 3 : SQL Server 権限とデータベース権限の許可

  1. コマンド プロンプト ウィンドウに次のように入力します。SQL Server のログイン ID が作成されます。

    sqlcmd -E -S databaseServer -Q "CREATE LOGIN [computer\ASPNET] FROM WINDOWS;"

  2. 次のように入力します。インスタンス データベースにアクセスするための権限がログインに許可され、このログインが NSSubscriberAdmin データベース ロールに追加されます。

    sqlcmd -E -SdatabaseServer-Q "USEinstanceDatabase;

    **    CREATE USER [computer\ASPNET];**

    **    EXEC sp_addrolemember N'NSSubscriberAdmin', N'computer\ASPNET';"**

  3. 次のように入力します。アプリケーション データベースにアクセスするための権限がアカウントに許可され、このアカウントが NSSubscriberAdmin データベース ロールに追加されます。

    sqlcmd -E -SdatabaseServer-Q "USEapplicationDatabase;

    **    CREATE USER [computer\ASPNET];**

    **    EXEC sp_addrolemember N'NSSubscriberAdmin', N'computer\ASPNET';"**

これで、Notification Services のインスタンスのサブスクライバとサブスクリプションを、サブスクリプション管理アプリケーションで使用できるようになります。

トラブルシューティング

サブスクライバとサブスクリプションを管理できない場合は、Notification Services コマンド プロンプトから以下のコマンドを実行してインスタンスの状態を確認します。

nscontrol status-name instanceName

サブスクライバとサブスクリプション管理が有効になっていることを確認します。詳細については、「インスタンス、アプリケーション、およびコンポーネントの状態表示」を参照してください。

また、Windows アプリケーション ログでエラーの有無を確認します。詳細については、「Notification Services のトラブルシューティング」を参照してください。

参照

概念

Notification Services のインスタンスの配置
ホストされないイベント プロバイダの配置

その他の技術情報

Notification Services の配置

ヘルプおよび情報

SQL Server 2005 の参考資料の入手