如何:將 Notification Services 2.0 執行個體升級到 SQL Server 2005 (命令提示字元)
更新: 2006 年 4 月 14 日
如果您擁有一個在 Microsoft SQL Server 2000 上執行的現有 Notification Services 2.0 執行個體,您可以將這個執行個體升級到 Microsoft SQL Server 2005。若要執行升級,您必須升級資料庫與 Notification Services 執行個體。下列程序顯示如何使用命令提示字元公用程式來升級執行個體。
重要事項: |
---|
您可在許多不同組態中部署 Notification Services 的執行個體。請使用下列程序作為開發及測試移轉程序的方針。 |
若要準備伺服器升級
在已註冊執行個體的一部伺服器上,使用 nscontrol 命令提示字元公用程式的 Notification Services 2.0 版,來停用 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 命令提示字元] 視窗中輸入下列命令:
若要升級 Database Engine 和安裝 Notification Services
使用 SQL Server 2005 安裝程式,將 Database Engine 從 SQL Server 2000 升級到 SQL Server 2005。如需詳細資訊,請參閱<升級 Database Engine>。
在執行事件提供者、產生器、散發者或訂閱管理介面的每一部伺服器上,安裝 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 命令>。
在一部伺服器上,輸入下列命令來修復執行個體中繼資料:
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 enable -nameinstanceName
確實的引數視驗證模式而定。
以使用 SQL Server 2005 組件和 Microsoft .NET Framework 2.0 編譯的新元件,取代任何自訂元件。
如果使用 COM Interop,請重新註冊核心 Notification Services 組件。如需詳細資訊,請參閱<如何:註冊 COM Interop 的核心 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)