共用方式為


如何:將 Notification Services 2.0 執行個體升級到 SQL Server 2005 (命令提示字元)

更新: 2006 年 4 月 14 日

如果您擁有一個在 Microsoft SQL Server 2000 上執行的現有 Notification Services 2.0 執行個體,您可以將這個執行個體升級到 Microsoft SQL Server 2005。若要執行升級,您必須升級資料庫與 Notification Services 執行個體。下列程序顯示如何使用命令提示字元公用程式來升級執行個體。

ms143519.note(zh-tw,SQL.90).gif重要事項:
您可在許多不同組態中部署 Notification Services 的執行個體。請使用下列程序作為開發及測試移轉程序的方針。

若要準備伺服器升級

  1. 在已註冊執行個體的一部伺服器上,使用 nscontrol 命令提示字元公用程式的 Notification Services 2.0 版,來停用 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. 關閉命令提示字元視窗。

若要升級 Database Engine 和安裝 Notification Services

  1. 使用 SQL Server 2005 安裝程式,將 Database Engine 從 SQL Server 2000 升級到 SQL Server 2005。如需詳細資訊,請參閱<升級 Database Engine>。

  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. 在一部伺服器上,輸入下列命令來修復執行個體中繼資料:

    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 enable -nameinstanceName

    確實的引數視驗證模式而定。

  7. 以使用 SQL Server 2005 組件和 Microsoft .NET Framework 2.0 編譯的新元件,取代任何自訂元件。

  8. 如果使用 COM Interop,請重新註冊核心 Notification Services 組件。如需詳細資訊,請參閱<如何:註冊 COM Interop 的核心 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 協助