Comando nscontrol update

Data aggiornamento: 5 dicembre 2005

Aggiorna i database dell'istanza e dell'applicazione per un'istanza esistente di SQL Server Notification Services.

Sintassi

nscontrol update 
    [-nologo]
    [-help]
        -in configFile
    [-verbose] 
    [-force] 
    [-sqlusername sqlUserName -sqlpassword sqlPassword] 
    [-argumentkey key]
    [-timeout seconds]
    [param=value ...]

Argomenti

  • -nologo
    Disattiva la visualizzazione delle informazioni relative al prodotto e alla versione quando si esegue un comando nscontrol.
  • -help
    Visualizza la sintassi del comando.
  • -inconfigFile
    Percorso e nome del file di configurazione dell'istanza che definisce l'istanza. Se il file è memorizzato nella directory corrente, non è necessario specificarne il percorso.
  • -verbose
    Visualizza tutte le informazioni che vengono modificate nel file di configurazione dell'istanza e nel file di definizione dell'applicazione (ADF). Si tratta di informazioni utili per il debug e per esaminare in dettaglio le operazioni eseguite dal comando nscontrol update.
  • -force
    Esegue nscontrol update senza l'intervento dell'utente, ovvero senza richiedere l'approvazione dopo la visualizzazione delle azioni che verranno eseguite.
  • -sqlusernamesqlUserName
    Account di accesso di SQL Server utilizzato per connettersi a SQL Server.

    ms162829.note(it-it,SQL.90).gifImportante:
    L'autenticazione di Windows offre maggiore protezione rispetto all'autenticazione di SQL Server. Se possibile, è consigliabile utilizzare l'autenticazione di Windows.

    Se si utilizza l'autenticazione di SQL Server per connettersi a SQL Server, è necessario specificare sia l'argomento -sqlusername che l'argomento -sqlpassword.

    Se si utilizza l'autenticazione di Windows, non specificare gli argomenti -sqlusername e -sqlpassword.

  • -sqlpasswordsqlPassword
    Password associata all'account di accesso -sqlusername. È necessario specificare una password solo quando la connessione viene eseguita mediante l'autenticazione di SQL Server.
  • -argumentkeykey
    Valore della chiave specificato per i comandi nscontrol register e nscontrol create. Questo argomento è obbligatorio se il valore di EncryptArguments nel file di configurazione dell'istanza è true. Il comando nscontrol update decifra i valori degli argomenti per verificare che la chiave sia la stessa specificata con il comando nscontrol create. Se il valore della chiave è identico, l'aggiornamento continua. Non è possibile modificare la chiave dopo aver creato l'istanza.
  • -timeout seconds
    Timeout, espresso in secondi, per il completamento di ogni operazione di aggiornamento, ad esempio la creazione o la rimozione di un indice. Il periodo di timeout predefinito è 30 secondi. Se si prevede che l'esecuzione di un'operazione qualsiasi richieda più di 30 secondi, impostare un valore di timeout più alto.
  • param=value
    Coppia nome/valore utilizzata per passare i valori dei parametri al file di configurazione dalla riga di comando.

    Se il file di configurazione include parametri sostituibili, ad esempio %DBSystem%, specificare il nome e il valore del parametro al prompt dei comandi. Ad esempio, se il file di configurazione contiene la stringa XML seguente:

    <SqlServerSystem>%DBSystem%</SqlServerSystem>
    

    specificare il nome e il valore utilizzando il comando nscontrol update come indicato di seguito:

    nscontrol create -in config.xml DBSystem=MySQLServer
    

    I valori dei parametri specificati al prompt dei comandi vengono applicati ai parametri nel file di configurazione dell'istanza, ma non a quelli inclusi nei file di definizione dell'applicazione (ADF). Per trasmettere i valori dei parametri a un file ADF, aggiungere una sottosezione Parameters alla sezione Application nel file di configurazione. All'interno di tale nodo è possibile utilizzare parametri sostituibili come valori. È possibile specificare valori par tali parametri al prompt dei comandi.

    Oltre ai parametri specificati al prompt dei comandi, nel file di configurazione dell'istanza si possono utilizzare anche variabili di ambiente, ad esempio %COMPUTERNAME%. Se nel file di configurazione dell'istanza si utilizza una variabile di ambiente, una coppia nome/valore con lo stesso nome specificata al prompt dei comandi ha la priorità sulla variabile di ambiente.

Osservazioni

Il comando nscontrol update confronta l'XML nei file di configurazione dell'istanza e di definizione dell'applicazione (ADF) con i database. Per ogni modifica valida, il comando nscontrol update aggiorna il database come specificato nel file XML.

Non tutti gli elementi nei file di configurazione dell'istanza e di definizione dell'applicazione (ADF) possono essere aggiornati. In alcuni elementi di questi file vengono impostate opzioni che possono essere modificate solo eliminando l'istanza e ricreandola. Per ulteriori informazioni, vedere le sezioni Instance Configuration File Reference e Application Definition File Reference. Ogni argomento include una riga Aggiornamenti che indica se un campo può essere aggiornato.

ms162829.note(it-it,SQL.90).gifImportante:
È consigliabile eseguire una copia di backup dei database dell'istanza e dell'applicazione prima di aggiornare l'istanza. L'operazione di aggiornamento potrebbe non essere completata correttamente. In questo caso, i database dell'istanza e dell'applicazione rimangono in uno stato inconsistente, ovvero è possibile che le istanze e le applicazioni siano inutilizzabili e che i dati vengano perduti.

[!NOTA] Controllare tutti i file di definizione dell'applicazione (ADF) e di configurazione dell'istanza prima di eseguire nscontrol update per ridurre il rischio di errori. Se si verifica un errore, correggere il file e quindi eseguire nuovamente nscontrol update.

Se si utilizza Notification Services Standard Edition e nel file di definizione dell'applicazione (ADF) si specificano opzioni non supportate da tale versione, l'esecuzione di nscontrol update viene interrotta e l'istanza non viene aggiornata.

Se si modificano i metadati della classe di sottoscrizione nel file di definizione dell'applicazione (ADF), nscontrol update rinomina la tabella esistente della classe di sottoscrizione, ovvero NS<*subscription_class>*Subscriptions, con il nome NS<*subscription_class>*SubscriptionsOld per salvare i dati di sottoscrizione. Se in seguito si aggiorna la stessa classe di sottoscrizione, quando nscontrol update tenta di rinominare la tabella, l'operazione ha esito negativo se esiste già una tabella con il nome NS<*subscription_class>*SubscriptionsOld. Per ulteriori informazioni, vedere Aggiornamento di un'applicazione.

Se una classe di evento o una classe di notifica viene modificata nel file di definizione dell'applicazione (ADF), nscontrol update elimina le tabelle esistenti per tali classi.

Il comando nscontrol update in genere visualizza tutte le modifiche apportate ai file di configurazione dell'istanza e di definizione dell'applicazione (ADF) durante l'esecuzione dell'aggiornamento. Tuttavia, se l'istanza utilizza la funzionalità di crittografia degli argomenti, nscontrol update non visualizza gli argomenti crittografati.

Prima di aggiornare un'istanza, assicurarsi che il codice che crea una tabella, una visualizzazione, una vista o un altro oggetto SQL Server controlli la presenza di eventuali oggetti esistenti con lo stesso nome e li elimini o rinomini. Si tratta di un'operazione fondamentale poiché nscontrol update non elimina o rinomina automaticamente eventuali oggetti SQL Server esistenti definiti dall'utente che hanno lo stesso nome. Tramite l'eliminazione o la ridenominazione esplicita degli oggetti SQL Server esistenti con nomi identici si evitano errori di oggetti duplicati. Per ulteriori informazioni, vedere Definizione di tabelle della cronologia degli eventi.

Autorizzazioni

L'account utilizzato per l'esecuzione di nscontrol update oppure l'account di accesso di SQL Server specificato dall'argomento -sqlusername deve essere membro del ruolo di database db_owner in tutti i database dell'istanza e dell'applicazione interessati dall'esecuzione del comando nscontrol update oppure deve essere un membro del ruolo predefinito del server sysadmin.

L'account deve inoltre disporre delle autorizzazioni necessarie per eseguire i file binari di Notification Services. Tali autorizzazioni vengono concesse ai membri dei gruppi di Windows Administrators e SQLServerNotificationServicesUser.

Esempi

Negli esempi seguenti viene illustrato come aggiornare un'istanza.

A. Aggiornamento di un'istanza e visualizzazione di tutte le differenze

In questo esempio viene illustrato come aggiornare un'istanza utilizzando un file di configurazione dell'istanza denominato InstanceConfig.xml. Il comando nscontrol update visualizza tutte le differenze rilevate nel file di configurazione e nei file di definizione dell'applicazione (ADF) aggiornati. Per avviare l'operazione di aggiornamento, verrà richiesto di rispondere o no.

Il comando nscontrol utilizza l'autenticazione di Windows per la connessione a SQL Server.

nscontrol update -in "C:\NS\Stock\InstanceConfig.xml" 
    -verbose

B. Aggiornamento di un'istanza (il file di configurazione dell'istanza contiene parametri)

In questo esempio viene illustrato come specificare i valori per i parametri BaseDirectoryPath, NSHost e SqlServer per aggiornare un'istanza. Il comando nscontrol utilizza l'autenticazione di Windows per la connessione a SQL Server.

nscontrol update -in "C:\NS\Stock\InstanceConfig.xml" 
    BaseDirectoryPath=C:\NS\Samples\Stock NSHost=nsuetest 
    SqlServer=nsuetest

C. Aggiornamento di un'istanza in caso di utilizzo della crittografia degli argomenti

Nell'esempio seguente viene illustrato come aggiornare un'istanza in caso di utilizzo della crittografia degli argomenti. Il comando nscontrol utilizza l'autenticazione di Windows per la connessione a SQL Server.

nscontrol update -in "C:\NS\Stock\InstanceConfig.xml" 
    -argumentkey "MyArgumentKey"

D. Esecuzione dell'aggiornamento senza intervento dell'utente

Nell'esempio seguente viene illustrato come aggiornare un'istanza senza che venga visualizzata la richiesta di approvare l'aggiornamento. Il comando nscontrol utilizza l'autenticazione di Windows per la connessione a SQL Server.

nscontrol update -in "C:\NS\Stock\InstanceConfig.xml" -force

E. Aggiornamento di un'istanza utilizzando l'autenticazione di SQL Server

ms162829.note(it-it,SQL.90).gifImportante:
Se possibile, utilizzare l'autenticazione di Windows.

Nell'esempio seguente viene illustrato come aggiornare un'istanza utilizzando l'autenticazione di SQL Server per connettersi a SQL Server. Il comando nscontrol update visualizza tutte le differenze rilevate nel file di configurazione e nei file di definizione dell'applicazione (ADF) aggiornati. Per avviare l'operazione di aggiornamento, verrà richiesto di rispondere o no.

nscontrol update -in "C:\NS\Stock\InstanceConfig.xml" 
    -sqlusername SqlUser -sqlpassword sQl-P@sWd

Vedere anche

Riferimento

Utilità nscontrol

Altre risorse

Aggiornamento di istanze e applicazioni
EncryptArguments Element (ICF)

Guida in linea e informazioni

Assistenza su SQL Server 2005

Cronologia modifiche

Versione Cronologia

5 dicembre 2005

Nuovo contenuto
  • Aggiunta di informazioni sul gruppo di Windows SQLServerNotificationServicesUser.