Share via


レッスン 9 : インスタンスの登録、有効化、および開始

更新 : 2006 年 7 月 17 日

このレッスンでは、Notification Services インスタンスのセキュリティを構成し、Notification Services エンジンをインストールする Notification Services のインスタンスを登録した後、インスタンスを有効にして開始します。

Notification Services エンジン

このチュートリアルの前半で、アプリケーションのジェネレータとディストリビュータを構成しました。これらのコンポーネントは、Notification Services エンジンにより実行されます。アプリケーションがホストしているイベント プロバイダがある場合は、そのイベント プロバイダも Notification Services エンジンにより実行されます。

Notification Services エンジンは、コンピュータにインスタンスを登録するときに作成する Windows サービスであり、カスタム アプリケーションによってホストされるプロセスでもあります。

ホストされるイベント プロバイダ、ジェネレータ、およびディストリビュータをアプリケーション定義ファイル (ADF) に構成するときは、システム名を指定します。システム名とは、エンジンを実行するコンピュータの名前です。ADF で、システム名の値として指定されているすべてのコンピュータに Notification Services エンジンをインストールし、実行する必要があります。

Notification Services エンジンを開始すると、このエンジンはインスタンスとアプリケーション データベースに接続して、どのコンポーネントを実行するのか、それらのコンポーネントが有効かどうかを判断します。その後、有効化されているコンポーネントを実行します。

Notification Services エンジンの詳細については、「インスタンスおよびアプリケーションの操作の制御」を参照してください。

Notification Services エンジンは、インスタンスとアプリケーション データベースに接続し、自分自身のストアド プロシージャを実行します。このストアド プロシージャを実行するには、サーバーにログインするためのアクセス権、およびデータベースにおける適切な権限がエンジンに設定されている必要があります。これらの権限は、インスタンスおよびアプリケーション データベースのデータベース ロールに定義されているメンバのログインに与えられます。詳細については、「Notification Services のインスタンスの SQL Server 権限の構成」を参照してください。

Weather アプリケーションのエンジン

このチュートリアルでは、Notification Services エンジンを Windows サービスとして実行します。Notification Services のインスタンスを登録するときに、NS$Tutorial という名前の Windows サービスをインストールします。このインスタンスはローカル コンピュータに登録します。Notification Services のインスタンスを作成または更新したとき、_NSServer_ パラメータに指定したコンピュータ名と同じ名前のコンピュータに登録してください。

インスタンスの登録時には、Windows のユーザー名とパスワードを指定する必要があります。この Windows サービス (エンジン) は、Windows アカウントまたは指定の SQL Server ログインを使用してデータベース サーバーにログインします。そのため、Windows アカウントまたは SQL Server ログインのユーザーとして、エンジンを TutorialNSMain および TutorialWeather データベースに追加し、さらにデータベース ロールに追加する必要があります。Notification Services のインスタンスを登録するときも、これと同じアカウントを使用します。セキュリティ モデルの詳細については、「Notification Services のセキュリティに関する注意点」を参照してください。

インスタンスを登録し、セキュリティを構成したら、Notification Services のインスタンスを有効にし、開始することができます。

Windows サービスのデータベース権限の構成

以下の手順に従って、TutorialNSMain データベースおよび TutorialWeather データベースへの接続時に必要となる Windows サービス アカウントのデータベース権限を構成します。

Windows サービスに必要なデータベース権限を構成するには

  1. Windows サービス NS$Tutorial の Windows アカウントを選択します。

    Notification Services のインスタンスを配置するときは、少数の権限が与えられたアカウントを使用し、その後も、必要最小限の権限をそのアカウントに与えてください。

  2. Windows 認証を使用できる場合は、この Windows アカウントでデータベース サーバーにログインできるということに注意してください。Windows 認証を使用できない場合は、この Windows サービスが使用できる SQL Server ログインがあることを確認してください。

    オブジェクト エクスプローラで新しいログインを追加するには、[セキュリティ] を展開し、[ログイン] を右クリックして、[新しいログイン] をクリックします。このダイアログ ボックスでは、Windows アカウントを追加するか、または SQL Server ログイン アカウントを作成できます。

  3. オブジェクト エクスプローラを使用し、TutorialNSMain データベースに、データベースのログイン ユーザーを作成します。次に、そのユーザーを NSRunService データベース ロールのメンバにします。

    1. [データベース] を展開し、[TutorialNSMain] データベースを展開します。
    2. [セキュリティ] を右クリックし、[新規作成] をポイントして、[ユーザー] をクリックします。
    3. データベース ユーザーの名前を [ユーザー名] ボックスに入力します。
      通常、データベースのユーザー名はログイン名と同じです。
    4. [ログイン名] ボックスに、Windows サービス NS$Tutorial で使用されるログイン名を入力します。
      ログイン名は、データベース エンジンのインスタンスの既存のログイン名と完全に一致する必要があります。ログイン名を検索するには、参照ボタン ([...]) をクリックします。
    5. [データベース ロールのメンバシップ] ボックスで、[NSRunService] をクリックします。
    6. [OK] をクリックします。
  4. TutorialWeather データベースにデータベースの ログイン ユーザーを作成します。さらに、作成したユーザーを、次の手順で NSRunService データベース ロールのメンバにします。

    1. TutorialWeather データベースを展開します。
    2. [セキュリティ] を右クリックし、[新規作成] をポイントして、[ユーザー] をクリックします。
    3. データベース ユーザーの名前を [ユーザー名] ボックスに入力します。
      通常、データベースのユーザー名はログイン名と同じです。
    4. [ログイン名] ボックスに、Windows サービス NS$Tutorial で使用されるログイン名を入力します。
      ログイン名は、データベース エンジンのインスタンスの既存のログイン名と完全に一致する必要があります。ログイン名を検索するには、参照ボタン ([...]) をクリックします。
    5. [データベース ロールのメンバシップ] ボックスで、[NSRunService] をクリックします。
    6. [OK] をクリックします。

Windows サービスのフォルダのアクセス権の構成

Weather アプリケーションは、File 配信プロトコルを使用して通知を配信します。したがって、Windows サービスのアカウントに対し、通知が書き込まれるフォルダへの権限が与えられている必要があります。

Windows サービスに必要なフォルダの権限を構成するには

  1. Windows エクスプローラを開きます。

  2. Notification Services Tutorial フォルダを探します。

    既定では、このフォルダは、C:\Program Files\Microsoft SQL Server\90\Samples\Notification Services\tutorial です。

  3. [Tutorial] フォルダを展開し、[Weather] フォルダを展開します。

  4. [Notifications] フォルダを右クリックし、[共有とセキュリティ] をクリックします。

  5. [セキュリティ] タブで、Windows サービス NS$Tutorial が使用する Windows アカウントに書き込み権限が与えられていることを確認します。

インスタンスの登録と Windows サービスの作成

次の手順に従って、Notification Services のインスタンスをローカルに登録し、Windows サービス NS$Tutorial をインストールします。ここでは、Notification Services によってサービス アカウントに Windows 権限を与えます。

インスタンスの登録と Windows サービスの作成

  1. オブジェクト エクスプローラで、[Notification Services] を展開します。

  2. [Tutorial] を右クリックし、[タスク] をポイントして、[登録] をクリックします。

  3. [Windows サービスを作成する] チェック ボックスをオンにします。

  4. Windows サービス NS$Tutorial のログイン アカウントとパスワードを入力します。

  5. SQL Server 認証を使用してデータベースにアクセスする場合は、[SQL Server 認証] を選択し、SQL Server ログインおよびパスワードを入力します。SQL Server 認証を使用しない場合は、[Windows 認証] を選択したままにします。

  6. [OK] をクリックします。インスタンスが登録され、Windows サービスが作成されます。さらに、パフォーマンス カウンタが作成されます。

  7. 登録が完了したら、[閉じる] をクリックします。

Tutorial インスタンスの有効化と開始

次の手順で Tutorial インスタンスを有効にし、Windows サービス NS$Tutorial を開始します。

Tutorial インスタンスを有効にして開始するには

  1. オブジェクト エクスプローラで [Tutorial] を右クリックし、[有効化] をクリックします。

  2. [Tutorial] を右クリックし、[開始] をクリックします。

サービスが開始されない場合は、有効な Windows アカウントがサービスにないか、必要な権限がないか、TutorialNSMain データベースまたは TutorialWeather データベースにサービスが接続できないことが考えられます。サービスによって使用されるアカウントに、前述した権限があることを確認してください。詳細については、「Notification Services のセキュリティの設定」を参照してください。

Tutorial インスタンスの状態の確認

アプリケーションが正しく構成され、Tutorial インスタンスが有効化および開始されていることを確認するには、Tutorial インスタンスの状態を表示します。

Tutorial インスタンスの状態を確認するには

  1. Tutorial インスタンスを右クリックし、[プロパティ] をクリックします。

    [アプリケーション] ページには、すべてのアプリケーション コンポーネントの状態が表示されます。[現在の状態] 列で、すべてのコンポーネントが有効になっていることを確認してください。状態が [有効化中] になっている場合は、30 秒待ってから [最新の情報に更新] をクリックします。

    それでも状態が [有効化中] である場合は、コンポーネントのシステム名と、Notification Services エンジンを実行しているコンピュータの名前が一致していません。[アプリケーション] ページと [Windows サービス] ページを表示し、[サーバー] の値が一致していることを確認してください。

    [Windows サービス] ページでは、Windows サービス NS$Tutorial が実行されていることを確認できます。また、[関連するコンポーネント] ボックスには、Windows サービスで有効になっているコンポーネントが表示されます。ジェネレータとディストリビュータが 1 つずつ表示されているはずです。

次のレッスン

ここでは、Tutorial インスタンスを有効にして、実行しました。しかし、サブスクライバ、サブスクリプション、およびイベントを追加しないと、通知が生成されません。次のレッスンでは、サブスクライバとサブスクリプションを追加します。

レッスン 10 : サブスクライバとサブスクリプションの追加

参照

概念

Notification Services のチュートリアル

その他の技術情報

インスタンスおよびアプリケーションの操作の制御
Notification Services のセキュリティの設定
通知ソリューションの作成
SQL Server Notification Services の紹介

ヘルプおよび情報

SQL Server 2005 の参考資料の入手