Notification Services 2.0 インスタンスを SQL Server 2005 に移行する方法 (コマンド プロンプト)
更新 : 2006 年 4 月 14 日
Notification Services 2.0 の既存のインスタンスが Microsoft SQL Server 2000 で実行されている場合は、そのインスタンスを Microsoft SQL Server 2005 にアップグレードできます。この場合、データベースをアップグレードしてから、Notification Services のインスタンスをアップグレードする必要があります。コマンド プロンプト ユーティリティを使用してインスタンスをアップグレードするには、次の手順を実行します。
重要 : |
---|
Notification Services のインスタンスは、さまざまな構成で配置できます。独自の移行手順を作成およびテストする際には、次の手順を参考にしてください。 |
サーバーのアップグレード準備をするには
Notification Services インスタンスが登録されている 1 台のサーバー上で、Notification Services 2.0 バージョンの nscontrol コマンド プロンプト ユーティリティを使用して Notification Services インスタンスを無効にします。
- [スタート] ボタンをクリックし、[すべてのプログラム]、[Microsoft SQL Server 2005]、[構成ツール] の順にポイントして、[Notification Services コマンド プロンプト] をクリックします。
- 次のコマンドを入力して、インスタンスを無効にします。
nscontrol disable -nameinstance_name
NS$instanceName Windows サービスを実行する各サーバー上で、このサービスを停止します。
- Notification Services 2.0 のコマンド プロンプト ウィンドウを開き、次のコマンドを入力してインスタンスを停止します。
**net stop NS$**instanceName
- Notification Services 2.0 のコマンド プロンプト ウィンドウを開き、次のコマンドを入力してインスタンスを停止します。
イベント プロバイダ、ジェネレータ、ディストリビュータ、またはサブスクリプション管理インターフェイスを持つ各サーバー上で、インスタンスの登録を解除します。
- 開いている 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 2.0 のインストールは変更されません。
Notification Services のインスタンスを移行するには
インスタンスが以前に登録されていた各サーバー上で、インスタンスを登録します。
- [スタート] ボタンをクリックし、[すべてのプログラム]、[Microsoft SQL Server 2005]、[構成ツール] の順にポイントして、[Notification Services コマンド プロンプト] をクリックします。
- nscontrol register コマンドを使用して、インスタンスを登録します。次のコマンドは、インスタンスを登録し、Windows 認証でデータベース サーバーに接続する Windows サービスを作成する方法を示しています。
nscontrol register -nameinstanceName-serverdatabaseServer -service****-serviceusername** username -servicepassword password
詳細については、「nscontrol register -?」と入力するか、「nscontrol register コマンド」を参照してください。
1 つのサーバー上で、次のコマンドを入力して、インスタンスのメタデータを修復します。
nscontrol repair -nameinstance_name-databaseinstanceDatabaseName-schemainstanceDatabaseSchema
次のコマンドを入力して、インスタンスおよびアプリケーション データをアップグレードします。
nscontrol upgrade -nameinstanceName
このインスタンスによりホストされるアプリケーションごとに、アプリケーション定義ファイル (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.Price
ADF と ICF で、バージョン番号を修正します (省略可)。
インスタンスを移動した場合は、ADF の SystemName 値と ICF の SqlServerSystem 値を更新します。これらの値は、値が ParameterDefaults ノード内にあるか、インスタンスの作成時に提供されるかを示すパラメータの場合があります。
次のコマンドを入力して、Notification Services のインスタンスを更新します。
nscontrol update -inICFPath\ICFName.xml
正確な引数は、認証モードによって異なります。
次のコマンドを入力して、Notification Services のインスタンスを有効にします。
nscontrol upgrade -nameinstanceName
正確な引数は、認証モードによって異なります。
任意のカスタム コンポーネントを、SQL Server 2005 アセンブリと Microsoft .NET Framework 2.0 を使用してコンパイルされた新しいコンポーネントに置き換えます。
COM 相互運用機能を使用する場合は、Notification Services のコア アセンブリを再登録します。詳細については、「COM 相互運用のための Notification Services コア アセンブリを登録する方法」を参照してください。
インスタンスの開始準備が整ったら、Notification Services のエンジン コンポーネントを実行する各サーバー上で、次のコマンドを入力します。
**net start NS$**instanceName
参照
処理手順
Notification Services 2.0 インスタンスの SQL Server 2005 への移行
Notification Services 2.0 のインスタンスを SQL Server 2005 に移行する方法 (SQL Server Management Studio)