Procedura: Migrazione di istanze di Notification Services 2.0 a SQL Server 2005 (prompt dei comandi)
Data aggiornamento: 14 aprile 2006
Se si dispone di un'istanza esistente di Notification Services 2.0 eseguita in Microsoft SQL Server 2000, è possibile aggiornarla a Microsoft SQL Server 2005. Per eseguire l'aggiornamento, è necessario aggiornare i database e l'istanza di Notification Services. Nella procedura seguente viene illustrato come aggiornare un'istanza tramite le utilità della riga di comando.
![]() |
---|
Le istanze di Notification Services possono essere distribuite in molte configurazioni diverse. Utilizzare la procedura seguente come indicazione generale per lo sviluppo e il test delle proprie procedure di migrazione. |
Per preparare i server per l'aggiornamento
Nel server in cui è registrata l'istanza disattivare l'istanza di Notification Services utilizzando la versione Notification Services 2.0 dell'utilità della riga di comando nscontrol:
- Fare clic sul pulsante Start, scegliere Tutti i programmi, Microsoft SQL Server, Strumenti di configurazione e quindi Prompt dei comandi di Notification Services.
- Digitare il comando seguente per disattivare l'istanza:
nscontrol disable -nameinstance_name
In ogni server nel quale viene eseguito il servizio Windows NS$instanceName, interrompere il servizio:
- Aprire una finestra del prompt dei comandi di Notification Services 2.0 e digitare il comando seguente per interrompere l'istanza:
**net stop NS$**instanceName
- Aprire una finestra del prompt dei comandi di Notification Services 2.0 e digitare il comando seguente per interrompere l'istanza:
In ogni server che presenta un provider di eventi, un generatore, un server di distribuzione o un'interfaccia per la gestione delle sottoscrizioni, annullare la registrazione dell'istanza.
- Nella finestra aperta del prompt dei comandi di Notification Services digitare il comando seguente:
nscontrol unregister -nameinstance_name - Chiudere la finestra del prompt dei comandi.
- Nella finestra aperta del prompt dei comandi di Notification Services digitare il comando seguente:
Per aggiornare il Motore di database e installare Notification Services
Utilizzando il programma di installazione di SQL Server 2005, aggiornare Motore di database da SQL Server 2000 a SQL Server 2005. Per ulteriori informazioni, vedere Aggiornamento del Motore di database.
In ogni server nel quale viene eseguito un provider di eventi, un generatore, un server di distribuzione o un'interfaccia per la gestione delle sottoscrizioni, installare SQL Server 2005 Notification Services.
Se Notification Services e i database sono collocati nello stesso server è possibile aggiornare il database e installare contemporaneamente Notification Services.
Durante il processo di aggiornamento le installazioni di Notification Services 2.0 non vengono alterate.
Per migrare l'istanza di Notification Services
In ogni server nel quale era stata precedentemente registrata l'istanza, eseguire la registrazione dell'istanza:
- Fare clic sul pulsante Start, scegliere Tutti i programmi, Microsoft SQL Server, Strumenti di configurazione e quindi Prompt dei comandi di Notification Services.
- Utilizzare il comando nscontrol register per registrare l'istanza. Il comando seguente indica come registrare l'istanza e creare un servizio Windows che si colleghi al server del database utilizzando l'autenticazione di Windows:
nscontrol register -nameinstanceName-serverdatabaseServer -service****-serviceusername** username -servicepassword password
Per ulteriori informazioni, digitare nscontrol register -? oppure vedere Comando nscontrol register.
In un server digitare il comando seguente per ripristinare i metadati dell'istanza:
nscontrol repair -nameinstance_name-databaseinstanceDatabaseName-schemainstanceDatabaseSchema
Digitare il comando seguente per aggiornare i dati dell'applicazione e dell'istanza:
nscontrol upgrade -nameinstanceName
Modificare le regole di generazione delle notifiche nel file di definizione dell'applicazione (ADF) per ogni applicazione ospitata dall'istanza.
Modificare tutte le regole di generazione delle notifiche che eseguono la funzione Notify() per utilizzare la sintassi INSERT INTO. Ad esempio, modificare la regola seguente di 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
Con la sintassi seguente, che non include più la funzione Notify(), ma seleziona i dati e li inserisce in una vista denominata in base alla classe di notifica (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
Modificare i numeri di versione nei file ADF e ICF. (Facoltativo)
Se l'istanza è stata spostata, aggiornare i valori SystemName nel file ADF e il valore SqlServerSystem nel file ICF. Questi valori possono rappresentare parametri che indicano che i valori sono relativi ad un nodo ParameterDefaults o che vengono forniti durante la creazione dell'istanza.
Digitare il comando seguente per aggiornare l'istanza di Notification Services:
nscontrol update -inICFPath\ICFName.xml
Gli argomenti specifici varieranno a seconda della modalità di autenticazione utilizzata.
Digitare il comando seguente per attivare l'istanza di Notification Services:
nscontrol enable -nameinstanceName
Gli argomenti specifici varieranno a seconda della modalità di autenticazione utilizzata.
Sostituire tutti i componenti personalizzati con i nuovi componenti compilati utilizzando gli assembly di SQL Server 2005 e Microsoft .NET Framework 2.0.
Se si utilizza l'interoperabilità COM, registrare nuovamente l'assembly principale di Notification Services. Per ulteriori informazioni, vedere Procedura: Registrazione dell'assembly principale di Notification Services per l'interoperabilità COM.
Quando l'istanza è pronta per essere avviata, digitare il comando seguente in ogni server nel quale vengono eseguiti i componenti del motore di Notification Services:
**net start NS$**instanceName
Vedere anche
Attività
Migrazione di istanze di Notification Services 2.0 a SQL Server 2005
Procedura: Migrazione delle istanze di Notification Services 2.0 a SQL Server 2005 (SQL Server Management Studio)