Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
L’esecuzione del setup di SQL Server da riga di comando permette di specificare diversi parametri e configurazioni e viene principalmente utilizzato per effettuare un upgrade di versione o per aggiornare versioni “Evaluation” a quelle definitive; in casi eccezionali può essere usato anche per l’operazione inversa (downgrade) preservando i dati e le configurazioni esistenti.
prendiamo ora in considerazione il caso più “semplice”, l’upgrade di versione ed i relativi passi. Si fa riferimento ad un istanza di SQL Server in configurazione cluster, con le opzioni non necessarie alle configurazioni standalone commentate singolarmente
- E' necessario avere a disposizione il DVD della versione RTM o i file di installazione in una directory locale
- Aprire un Command Prompt e posizionarsi nella directory Servers del DVD o della copia locale
- eseguire il seguente comando:
start /wait setup.exe INSTANCENAME=SQL2005CU11 UPGRADE=SQL_Engine SKUUPGRADE=1 /qb VS=VSQL2005 ADMINPASSWORD=pwd GROUP="SQL 2005 ENG CU11" ADDNODE=W2K3NODE1_1,W2K3NODE2_2
Vediamo il significato dei vari parametri, applicati ad un cluster di laboratorio che ho usato per i test
- INSTANCENAME è il nome dell’istanza da aggiornare, specificare MSSQLSERVER nel caso si tratti di quella di default
- UPGRADE permette di specificare l’elenco delle componenti da aggiornare separati dalla virgola: in questo caso SQL_Engine informa il setup di aggiornare solo la parte di “Database Engine”
- SKUUPGRADE=1 è il parametro che permette l’aggiornamento
- VS è il nome del Virtual Server da aggiornare, ossia il nome della risorsa “Network Name” all’interno del gruppo del cluster che contiene SQL Server; questo parametro non serve per le configurazioni standalone
- ADMINPASSWORD è la password dell’account (con diritti amministrativi) correntemente logato al nodo del cluster che sta eseguendo il setup; serve per potere gestire il nodo remoto (o i nodi) durante il setup. Non è richiesto per le configurazioni Standalone
- GROUP è il gruppo del cluster all’interno del quale si trovano le risorse di SQL Server e nel caso in cui ci siano degli spazi il nome deve essere racchiuso tra doppi apici. Non è richiesto nelle installazioni Standalone
- ADDNODE è utilizzato per specificare l’elenco dei nodi che possono essere “owwer” dell’istanza. Non richiesto per le Standalone
- /qb abilita una modalità “semi silent” visualizzado solo richieste di input quando necessario
Vediamo ora le operazioni necessarie per potere fare il downgrade della versione mantenendo i database e le configurazioni esistenti; le operazioni sono un po’ più lunghe che nel precedente caso.
Per prima cosa occorre rimuovere l’istanza esistente usando il parametro SAVESYSDB, per cui lasciando inalterati i precedenti punti 1 e 2 la riga di comando diventa
start /wait setup.exe /qb INSTANCENAME=SQL2005CU11 VS=VSQL2005 REMOVE=All ADMINPASSWORD=pwd SAVESYSDB=1
Tutti parametri già visti tranne SAVESYSDB=1 che è quello che istruisce il setup di mantenere i database di sistema nella directory DATA originaria e REMOVE, che serve per indicare le componenti che devono essere rimosse, in questo caso tutte (All): è consigliabile comunque fare una copia dei file esistenti.
A questo punto si può procedere con l’installazione della nuova istanza seguendo i passi seguenti:
Riavviare i nodi dopo la rimozione di SQL effettuata in precedenza
Seguire i punti 1 e 2 gia visti per l’upgrade
eseguire la seguente riga di comando:
start /wait setup.exe /qb VS=VSQL2005 INSTANCENAME=SQL2005CU11 GROUP="SQL 2005 ENG CU11" ADDNODE=w2k3node1_1,w2k3node2_2 INSTALLVS=SQL_Engine ADDLOCAL=SQL_Engine,SQL_Replication,SQL_FullText,Client_Components,Connectivity,SQL_Tools90,SQL_Documentation,SQL_BooksOnline IP=10.10.10.80,ToHost INSTALLSQLDIR="C:\Program Files\Microsoft SQL Server" INSTALLSQLDATADIR="g:\Program Files\Microsoft SQL Server" ADMINPASSWORD=pwd SQLACCOUNT=CLUSTERDOM\sqlsvc SQLPASSWORD=pwd AGTACCOUNT=CLUSTERDOM\sqlsvc AGTPASSWORD=pwd SQLBROWSERACCOUNT="NT AUTHORITY\SYSTEM" SQLCLUSTERGROUP=CLUSTERDOM\CLUSTER AGTCLUSTERGROUP=CLUSTERDOM\CLUSTER FTSCLUSTERGROUP=CLUSTERDOM\CLUSTER USESYSDB="G:\Microsoft SQL Server\MSSQL.1\MSSQL"
Tra i vari parametri non ancora visti abbiamo:
- INSTALLVS indica per quale componente si vuole creare un Virtual Server (in questo caso il Database Engine). Non è richiesto nel caso di installazione locale
- ADDLOCAL permette di specificare quali componenti aggiungere alla parte locale dell’installazione: l’elenco riportato sopra corrisponde ad un’installazione tipica che comprende Database Enginge, Management Tools, Performance Tool e BooksOnline.
- IP serve a specificare l’IP assegnato all’istanza ed il nome assegnato alla connesione di rete da usare, separati da una virgola; devono rimanere identici all’ IP e al nome della rete dell’istanza rimossa in precedenza. Non richiesto per un server Standalone.
- INSTALLSQLDIR è la directory di installazione locale di SQL Server
- INSTALLSQLDATADIR e la directory predefinita per il posizionamento dei file di dati e deve coincidere con quella precedente
- SQLACCOUNT e SQLPASSWORD rappresentano l’account di servizio di SQL Server e relativa password
- AGTACCOUNT e AGTPASSWORD rappresentano l’account di servizio del SQL Server Agent e relativa password
- SQLBROWSERACCOUNT è l’account associato al servizio SQL Server Browser. Nel caso in cui si lascia l’account System (consigliato) non è necessario specificare la password
- SQLCLUSTERGROUP, AGTCLUSTERGROUP e FTSCLUSTERGROUP rappresentano i gruppo di dominio necessari per l’installazione di un’istanza cluster e non sono richiesti nel caso di Standalone
- USESYSDB permette di specificare il percorso base dal quale prendere i file di sistema e i database utente esistenti
Entrambe le modalità di "upgrade” riportano SQL Server alla versione RTM per cui al termine è necessario ri-applicare la stessa Service Pack e Cumulative Update esistenti prima dell’attività di manutenzione.
Mauro Munzi
Senior Support Engineer
Microsoft Enterprise SQL Support