更新 : 2006 年 4 月 14 日
Microsoft SQL Server 2000 上で既存の Notification Services 2.0 のインスタンスが実行されている場合は、データベースおよび Notification Services をアップグレードして、Notification Services インスタンスを Microsoft SQL Server 2005 に移行することができます。
ここでは、SQL Server Management Studio を使用してインスタンスをアップグレードする方法について説明します。
重要 : |
|---|
| Notification Services のインスタンスは、さまざまな構成で配置できます。独自の移行手順を作成およびテストする際には、次の手順を参考にしてください。 |
サーバーのアップグレード準備をするには
Notification Services 2.0 の nscontrol コマンド プロンプト ユーティリティを使用して、Notification Services のインスタンスを無効にします。
- [スタート] ボタンをクリックし、[すべてのプログラム]、[Microsoft SQL Server Notification Services] の順にポイントして、[Notification Services コマンド プロンプト] をクリックします。
- 次のコマンドを入力して、インスタンスを無効にします。
nscontrol disable -nameinstance_name
NS$instanceName Windows サービスを実行する各サーバー上で、このサービスを停止します。
- [スタート] ボタンをクリックし、[すべてのプログラム]、[Microsoft SQL Server Notification Services] の順にポイントして、[Notification Services コマンド プロンプト] をクリックします。
- 次のコマンドを入力して、インスタンスを停止します。
**net stop NS$**instanceName
イベント プロバイダ、ジェネレータ、ディストリビュータ、またはサブスクリプション管理インターフェイスを持つ各サーバー上で、インスタンスの登録を解除します。
- 開いている Notification Services のコマンド プロンプト ウィンドウで、次のように入力します。
nscontrol unregister -nameinstance_name - コマンド プロンプト ウィンドウを閉じます。
- 開いている Notification Services のコマンド プロンプト ウィンドウで、次のように入力します。
データベース エンジンをアップグレードして Notification Services をインストールするには
SQL Server 2005 セットアップを使用して、データベース エンジンを SQL Server 2000 から SQL Server 2005 にアップグレードします。詳細については、「データベース エンジンのアップグレード」を参照してください。
イベント プロバイダ、ジェネレータ、ディストリビュータ、またはサブスクリプション管理インターフェイスを実行する各サーバー上で、SQL Server 2005 Notification Services をインストールします。
Notification Services とデータベースが同じサーバー上にある場合は、データベースのアップグレードと Notification Services のインストールを同時に行うことができます。
Notification Services のインスタンスを移行するには
SQL Server 2005 Notification Services のコマンド プロンプト ウィンドウを開き、インスタンスの情報をシステム データベースに追加します。
- [スタート] ボタンをクリックし、[すべてのプログラム]、[Microsoft SQL Server 2005]、[Configuration Tools] の順にポイントし、[Notification Services コマンド プロンプト] をクリックします。
- 次のコマンドを入力して、インスタンスのメタデータを修復します。
nscontrol repair -nameinstance_name-databaseinstanceDatabaseName-schemainstanceDatabaseSchema-serverdatabaseServer
SQL Server Management Studio を使用して、インスタンスおよびアプリケーション データベースのデータをアップグレードします。
- [スタート] ボタンをクリックし、[すべてのプログラム]、[Microsoft SQL Server Notification Services] の順にポイントして、[SQL Server Management Studio] をクリックします。
- インスタンスおよびアプリケーション データベースをホストする SQL Server のインスタンスに接続します。
- オブジェクト エクスプローラで、[Notification Services] を展開します。
- インスタンスを右クリックして、[タスク] をポイントし、[アップグレード] をクリックします。
これによって、インスタンスおよびアプリケーション データベース内のデータベース スキーマ、ストアド プロシージャ、およびバージョン番号がアップグレードされます。
このインスタンスがホストするアプリケーションごとに、アプリケーション定義ファイル (ADF) の通知生成ルールを修正します。
Notify() 関数を使用するすべての通知生成ルールを、INSERT INTO 構文を使用するように修正します。たとえば、次の Notification Services 2.0 ルールを次の構文に変更します。
SELECT dbo.FlightNotificationsNotify(S.SubscriberId, S.DeviceName, S.SubscriberLocale, E.Carrier, E.LeavingFrom, E.GoingTo, E.Price, E.Conditions) FROM FlightEvents E, FlightSubscriptions S WHERE E.LeavingFrom = S.LeavingFrom AND E.GoingTo = S.GoingTo AND ( (E.Carrier = S.Carrier) OR (S.Carrier = '*') ) AND E.Price < S.Priceこれにより Notify() 関数が使用されなくなり、その代わりにデータが選択され、通知クラス (FlightNotifications) に由来した名前のビューにそのデータが挿入されます。
INSERT INTO FlightNotifications(SubscriberId, DeviceName, SubscriberLocale, Carrier, LeavingFrom, GoingTo, Price, Conditions) SELECT S.SubscriberId, S.DeviceName, S.SubscriberLocale, E.Carrier, E.LeavingFrom, E.GoingTo, E.Price, E.Conditions FROM FlightEvents E, FlightSubscriptions S WHERE E.LeavingFrom = S.LeavingFrom AND E.GoingTo = S.GoingTo AND ( (E.Carrier = S.Carrier) OR (S.Carrier = '*') ) AND E.Price < S.PriceADF と ICF で、バージョン番号を修正します (省略可)。
インスタンスを移動した場合は、ADF の SystemName 値と ICF の SqlServerSystem 値を更新します。これらの値は、値が ParameterDefaults ノード内にあるか、インスタンスの作成時に提供されるかを示すパラメータの場合があります。
オブジェクト エクスプローラで、Notification Services インスタンスを右クリックして、[タスク] をポイントし、[更新] をクリックします。
[更新] ダイアログ ボックスで、要求された情報を指定します。インスタンスおよびアプリケーションを更新すると、ADF と ICF の変更内容が各データベースに適用されます。
[インスタンスの更新後にインスタンスを有効にする] を必ずオンにします。
インスタンスが以前に登録されていた各サーバー上で、インスタンスを登録します。
SQL Server Management Studio は、ローカルのコンピュータ上にのみインスタンスを登録します。SQL Server Management Studio を使用してインスタンスを登録するには、インスタンスを右クリックし、[タスク] をポイントして、[登録] をクリックします。
SQL Server Management Studio がインストールされていないサーバーにインスタンスを登録する必要がある場合は、SQL Server 2005 nscontrol register コマンドライン ユーティリティを使用してインスタンスを登録します。
任意のカスタム コンポーネントを、SQL Server 2005 アセンブリと Microsoft .NET Framework 2.0 を使用してコンパイルされた新しいコンポーネントに置き換えます。
COM 相互運用機能を使用する場合は、Notification Services のコア アセンブリを再登録します。詳細については、「COM 相互運用のための Notification Services コア アセンブリを登録する方法」を参照してください。
オブジェクト エクスプローラで、インスタンスを右クリックして、[開始] をクリックします。
参照
処理手順
Notification Services 2.0 インスタンスの SQL Server 2005 への移行
Notification Services 2.0 インスタンスを SQL Server 2005 に移行する方法 (コマンド プロンプト)
その他の技術情報
インスタンスとアプリケーションの管理に関する操作方法のトピック (Notification Services)
nscontrol register コマンド
重要 :