次の方法で共有


Notification Services 2.0 インスタンスを SQL Server 2005 に移行する方法 (コマンド プロンプト)

更新 : 2006 年 4 月 14 日

Notification Services 2.0 の既存のインスタンスが Microsoft SQL Server 2000 で実行されている場合は、そのインスタンスを Microsoft SQL Server 2005 にアップグレードできます。この場合、データベースをアップグレードしてから、Notification Services のインスタンスをアップグレードする必要があります。コマンド プロンプト ユーティリティを使用してインスタンスをアップグレードするには、次の手順を実行します。

ms143519.note(ja-jp,SQL.90).gif重要 :
Notification Services のインスタンスは、さまざまな構成で配置できます。独自の移行手順を作成およびテストする際には、次の手順を参考にしてください。

サーバーのアップグレード準備をするには

  1. Notification Services インスタンスが登録されている 1 台のサーバー上で、Notification Services 2.0 バージョンの nscontrol コマンド プロンプト ユーティリティを使用して Notification Services インスタンスを無効にします。

    1. [スタート] ボタンをクリックし、[すべてのプログラム][Microsoft SQL Server 2005][構成ツール] の順にポイントして、[Notification Services コマンド プロンプト] をクリックします。
    2. 次のコマンドを入力して、インスタンスを無効にします。
      nscontrol disable -nameinstance_name
  2. NS$instanceName Windows サービスを実行する各サーバー上で、このサービスを停止します。

    1. Notification Services 2.0 のコマンド プロンプト ウィンドウを開き、次のコマンドを入力してインスタンスを停止します。
      **net stop NS$**instanceName
  3. イベント プロバイダ、ジェネレータ、ディストリビュータ、またはサブスクリプション管理インターフェイスを持つ各サーバー上で、インスタンスの登録を解除します。

    1. 開いている Notification Services のコマンド プロンプト ウィンドウで、次のように入力します。
      nscontrol unregister -nameinstance_name
    2. コマンド プロンプト ウィンドウを閉じます。

データベース エンジンをアップグレードして Notification Services をインストールするには

  1. SQL Server 2005 セットアップを使用して、データベース エンジンを SQL Server 2000 から SQL Server 2005 にアップグレードします。詳細については、「データベース エンジンのアップグレード」を参照してください。

  2. イベント プロバイダ、ジェネレータ、ディストリビュータ、またはサブスクリプション管理インターフェイスを実行する各サーバー上で、SQL Server 2005 Notification Services をインストールします。

    Notification Services とデータベースが同じサーバー上にある場合は、データベースのアップグレードと Notification Services のインストールを同時に行うことができます。

    アップグレード プロセス中は、Notification Services 2.0 のインストールは変更されません。

Notification Services のインスタンスを移行するには

  1. インスタンスが以前に登録されていた各サーバー上で、インスタンスを登録します。

    1. [スタート] ボタンをクリックし、[すべてのプログラム][Microsoft SQL Server 2005][構成ツール] の順にポイントして、[Notification Services コマンド プロンプト] をクリックします。
    2. nscontrol register コマンドを使用して、インスタンスを登録します。次のコマンドは、インスタンスを登録し、Windows 認証でデータベース サーバーに接続する Windows サービスを作成する方法を示しています。
      nscontrol register -nameinstanceName-serverdatabaseServer -service****-serviceusername** username -servicepassword password
      詳細については、「nscontrol register -?」と入力するか、「nscontrol register コマンド」を参照してください。
  2. 1 つのサーバー上で、次のコマンドを入力して、インスタンスのメタデータを修復します。

    nscontrol repair -nameinstance_name-databaseinstanceDatabaseName-schemainstanceDatabaseSchema

  3. 次のコマンドを入力して、インスタンスおよびアプリケーション データをアップグレードします。

    nscontrol upgrade -nameinstanceName

  4. このインスタンスによりホストされるアプリケーションごとに、アプリケーション定義ファイル (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 ノード内にあるか、インスタンスの作成時に提供されるかを示すパラメータの場合があります。

  5. 次のコマンドを入力して、Notification Services のインスタンスを更新します。

    nscontrol update -inICFPath\ICFName.xml

    正確な引数は、認証モードによって異なります。

  6. 次のコマンドを入力して、Notification Services のインスタンスを有効にします。

    nscontrol upgrade -nameinstanceName

    正確な引数は、認証モードによって異なります。

  7. 任意のカスタム コンポーネントを、SQL Server 2005 アセンブリと Microsoft .NET Framework 2.0 を使用してコンパイルされた新しいコンポーネントに置き換えます。

  8. COM 相互運用機能を使用する場合は、Notification Services のコア アセンブリを再登録します。詳細については、「COM 相互運用のための Notification Services コア アセンブリを登録する方法」を参照してください。

  9. インスタンスの開始準備が整ったら、Notification Services のエンジン コンポーネントを実行する各サーバー上で、次のコマンドを入力します。

    **net start NS$**instanceName

参照

処理手順

Notification Services 2.0 インスタンスの SQL Server 2005 への移行
Notification Services 2.0 のインスタンスを SQL Server 2005 に移行する方法 (SQL Server Management Studio)

その他の技術情報

nscontrol ユーティリティ

ヘルプおよび情報

SQL Server 2005 の参考資料の入手