Notification Services の機能強化
Microsoft SQL Server Notification Services は、通知を生成、送信できるアプリケーションを開発、展開するための SQL Server プラットフォームです。Notification Services では、数千から数百万のサブスクライバに対して個別のメッセージを適時送信したり、メッセージをさまざまなデバイスに配信したりできます。
Notification Services 2.0 は、SQL Server 2000 用のダウンロード可能なコンポーネントで、2002 年にリリースされています。SQL Server 2005 では、Notification Services は SQL Server に統合されています。Notification Services の詳細については、「SQL Server Notification Services」を参照してください。
Notification Services 2.0 より、次の機能が強化されています。
新機能
SQL Server 2005 Notification Services では、次の機能が追加されています。
SQL Server Management Studio への統合
Notification Services は、SQL Server Management Studio のオブジェクト エクスプローラに統合されました。オブジェクト エクスプローラでは、Notification Services のインスタンスを起動および停止したり、nscontrol コマンド プロンプト ユーティリティのほとんどのタスクを実行したりできます。
SQL Server Management Studio は、XML および Transact-SQL エディタとして使用することもできます。Notification Services インスタンスの SQL Server Management Studio ソリューションを作成すると、インスタンス構成ファイル (ICF)、アプリケーション定義ファイル (ADF)、およびセキュリティやインスタンスの管理を行うための Transact-SQL スクリプトを容易に編集でき、さらにオブジェクト エクスプローラを使用してインスタンスを展開できます。このプロセスを説明するチュートリアルについては、「Notification Services のチュートリアル」を参照してください。
SQL Server Management Studio の詳細については、「SQL Server Management Studio の概要」を参照してください。
サブスクライバ定義条件のサポート
Notification Services 2.0 では、通知を生成するための完全な Transact-SQL アクションはアプリケーション開発者によって定義され、サブスクライバはアクションのパラメータを提供するだけでした。SQL Server 2005 の Notification Services は、定義済みのデータセットに対してサブスクライバが独自にクエリ句を定義できる、条件アクションと呼ばれる新しい種類のアクションをサポートしています。
条件アクションを使用すると、サブスクライバはデータセットに対して独自のサブスクリプションを完全に定義できます。ただし、通常は評価対象の条件が多くなることから、通知の生成の効率が低下します。
詳細については、「条件アクションの定義」を参照してください。
データベースの独立
SQL Server Notification Services では、インスタンスおよびアプリケーション データ用に既存のデータベースを使用できます。Notification Services インスタンスを構成するときや Notification Services アプリケーションを定義するときに、既存のデータベースまたは新しいデータベースの名前を指定できます。名前を省略すると、Notification Services の既定のデータベース名が使用されます。
詳細については、「インスタンス データベースの定義」および「アプリケーション データベースの定義」を参照してください。
新しい管理 API
SQL Server Notification Services では、新しい管理 API の Microsoft.SqlServer.Management.Nmo が追加されています。この API は、Notification Services インスタンスとアプリケーションの開発や管理を行うために使用します。
ホストできる実行エンジン
Notification Services エンジンは、ホストされているイベント プロバイダ、ジェネレータ、およびディストリビュータを実行します。Notification Services 2.0 では、インスタンスを登録するときにインストールできる NS$instanceName Windows サービスが、Notification Services エンジンを実行していました。このリリースでは、自分のカスタム アプリケーションまたはプロセスで Notification Services エンジンをホストできるようになりました。詳細については、「Notification Services エンジンのホスト」を参照してください。
Analysis Services イベント プロバイダ
Notification Services では、MDX クエリを使用して Analysis Services データベースからイベント データを収集するための、新しい標準イベント プロバイダが追加されました。詳細については、「Analysis Services イベント プロバイダ」を参照してください。
新しいビュー
Notification Services では、アプリケーション開発およびトラブルシューティングを単純化するために、次のビューが追加または変更されています。
- Notification Services は、アプリケーション内で定義されているイベント クラスごとに 1 つのビューを作成します。このビューには、イベント クラスと同じ名前が付きます。イベント ドリブン (スケジュール設定されない) 通知生成クエリを作成する場合、通常は、このビューからイベントを選択します。さらに、イベント データをこのビューに挿入することもできます。詳細については、「<EventClassName> ビュー」を参照してください。
- Notification Services は、通知クラスごとに 1 つのビューを作成します。このクラスを使用すると、アプリケーションによって生成された通知を確認できます。詳細については、「<NotificationClassName> ビュー」を参照してください。
- Notification Services は、サブスクライバおよびサブスクリプション データを表示および管理するための 3 つのビューを提供します。
- NSSubscriberView は、Notification Services のインスタンスのすべてのサブスクライバをリストします。このビューは、サブスクライバ データを管理するために使用します。詳細については、「NSSubscriberView」を参照してください。
- NSSubscriberDeviceView は、Notification Services のインスタンスのすべてのサブスクライバ デバイスをリストします。このビューは、サブスクライバ デバイス データを管理するために使用します。詳細については、「NSSubscriberDeviceView」を参照してください。
- NSSubscriptionClassNameView は、サブスクリプション クラスのすべてのサブスクリプションをリストします。このビューを使用すると、基本的なイベント ドリブン サブスクリプションを管理できますが、スケジュール設定されたサブスクリプションや条件ベースのサブスクリプションは管理できません。詳細については、「NS<SubscriptionClassName>View」を参照してください。
既存の機能の強化
パフォーマンスを改善し、アプリケーション開発を単純化するために、次の改良が加えられています。
ジェネレータ パフォーマンスの改善
Notification Services 2.0 では、通知生成ルールは Notify() 関数を使用して通知を生成する必要がありました。この関数は、3 つの拡張ストアド プロシージャを使用していました。これらの拡張ストアド プロシージャは、パフォーマンス上の妨げとなり、展開手順を増やすものでした。
SQL Server 2005 の Notification Services では、Notify() 関数が廃止され、通知生成ルールが通知ビューにデータを挿入するように要求されるようになりました。これらの INSERT INTO ステートメントは、ジェネレータで実行する必要があり、これによって Notification Services のパフォーマンスが改善されました。詳細については、「サブスクリプション ルールの定義」および「Notification Services 2.0 インスタンスの SQL Server 2005 への移行」を参照してください。
Vacuumer のパフォーマンスの改善
Notification Services では、データ削除処理 (Vacuumer 処理) のパフォーマンスも改善されました。アプリケーションおよびハードウェア構成に応じて、Notification Services 2.0 と比較して約 150% のパフォーマンスの改善が見込まれます。
Windows クラスタの改善
Notification Services では、最初のリリースから Windows クラスタ テクノロジをサポートしています。Notification Services エンジンを汎用サービス クラスタ リソースとして構成すると、インスタンスを実行する NS$instanceName Windows サービスは他のクラスタ ノードにフェールオーバーできます。
Notification Services 2.0 では、クラスタ ソフトウェアがインストールされているかどうか、クラスタが構成されているかどうか、そしてクラスタが実行されているかどうかが Notification Services によってチェックされました。この 3 つのチェックがすべて成功すると、Notification Services は、既定のクラスタ名をローカル コンピュータ名として使用してから、既定のクラスタ名で実行するように構成されたコンポーネントを起動しました。
クラスタ化をさらにサポートするために、別のクラスタ リソース グループを Notification Services に対して構成して、他のクラスタ リソース グループから別個にフェールオーバーできるようになりました。クラスタ リソースを構成する場合は、[ネットワーク名をコンピュータ名として使う] 構成オプションを選択する必要があります。このとき、クラスタ上で実行されるすべての Notification Services コンポーネントに関して、ネットワーク名 (仮想サーバー名) を SystemName 値として指定する必要があります。
詳細については、「Notification Services でのフェールオーバー クラスタリングの使用」および「チュートリアル: クラスタ化された単一サーバー配置」を参照してください。
参照
概念
その他の技術情報
SQL Server Notification Services