Utilizzo delle opzioni di avvio del servizio SQL Server

Quando si installa SQL Server, tramite il programma di installazione viene scritto un set di opzioni di avvio predefinite nel Registro di sistema di Microsoft Windows. Tali opzioni consentono di specificare un file del database master alternativo, un file di log del database master o un file di registro errori.

Le opzioni di avvio possono essere impostate utilizzando Gestione configurazione SQL Server. Per informazioni, vedere Procedura: Configurazione delle opzioni di avvio del server (Gestione configurazione SQL Server).

Opzioni di avvio predefinite

Descrizione

-d master_file_path

Percorso completo del file del database master (in genere, C:\Programmi\Microsoft SQL Server\MSSQL.n\MSSQL\Data\master.mdf). Se non si imposta questa opzione, vengono utilizzati i parametri esistenti nel Registro di sistema.

-e error_log_path

Percorso completo del file di registro errori (in genere, C:\Programmi\Microsoft SQL Server\MSSQL.n\MSSQL\LOG\ERRORLOG). Se non si imposta questa opzione, vengono utilizzati i parametri esistenti nel Registro di sistema.

-l master_log_path

Percorso completo del file di log del database master (in genere C:\Programmi\Microsoft SQL Server\MSSQL.n\MSSQL\Data\mastlog.ldf). Se non si specifica questa opzione, vengono utilizzati i parametri esistenti nel Registro di sistema.

È possibile ignorare temporaneamente le opzioni di avvio predefinite e avviare un'istanza di SQL Server utilizzando le opzioni di avvio aggiuntive indicate di seguito.

Altre opzioni di avvio

Descrizione

-c

Riduce i tempi necessari per l'avvio quando si avvia SQL Server dal prompt dei comandi. Il Motore di database di SQL Server viene in genere avviato come servizio chiamando Gestione controllo servizi. Poiché quando viene avviato dal prompt dei comandi Motore di database di SQL Server non viene avviato come servizio, utilizzare -c per ignorare questo passaggio.

-f

Avvia un'istanza di SQL Server con la configurazione minima. È utile nel caso in cui l'impostazione di un valore di configurazione (ad esempio un'allocazione eccessiva di memoria) abbia impedito l'avvio del server. L'avvio di SQL Server con la configurazione minima consente di attivare la modalità utente singolo in SQL Server. Per ulteriori informazioni, vedere la descrizione di -m seguente.

-g memory_to_reserve

Specifica un numero intero di megabyte di memoria che SQL Server manterrà disponibili per le allocazioni di memoria internamente al processo di SQL Server, ma esternamente al pool di memoria di SQL Server. La memoria esterna al pool di memoria è l'area utilizzata da SQL Server per caricare elementi quali file con estensione dll di procedure estese, provider OLE DB a cui fanno riferimento query distribuite e oggetti di automazione a cui si fa riferimento nelle istruzioni Transact-SQL. Il valore predefinito è 256 MB.

L'utilizzo di questa opzione può contribuire a ottimizzare l'allocazione di memoria, ma soltanto se la memoria fisica supera il limite configurato impostato dal sistema operativo per la memoria virtuale disponibile alle applicazioni. L'utilizzo di questa opzione può risultare appropriato in configurazioni con grandi quantità di memoria, in cui i requisiti di utilizzo della memoria di SQL Server risultano atipici e lo spazio degli indirizzi virtuali del processo di SQL Server è completamente utilizzato. L'utilizzo errato di questa opzione può impedire l'avvio dell'istanza di SQL Server o generare errori di run-time.

Utilizzare il valore predefinito per il parametro -g a meno che nel registro errori di SQL Server non venga riportato un avviso simile ai seguenti:

  • "Failed Virtual Allocate Bytes: FAIL_VIRTUAL_RESERVE <size>"

  • "Failed Virtual Allocate Bytes: FAIL_VIRTUAL_COMMIT <size>"

Questi messaggi possono indicare che SQL Server sta tentando di liberare settori del pool di memoria di SQL Server per l'inserimento di elementi quali file con estensione dll di stored procedure estese o oggetti di automazione. In questo caso, è consigliabile aumentare la quantità di memoria riservata tramite l'opzione -g.

L'utilizzo di un valore inferiore a quello predefinito aumenta la quantità di memoria disponibile per il pool di buffer e gli stack di thread. Ciò può determinare vantaggi a livello delle prestazioni per carichi di lavoro a utilizzo elevato di memoria in sistemi che non utilizzano un gran numero di stored procedure estese, query distribuite o oggetti di automazione.

-h

Riserva spazio degli indirizzi virtuali per i metadati relativi all'aggiunta di memoria a caldo se l'opzione AWE è abilitata con SQL Server a 32 bit. L'opzione è necessaria per l'aggiunta di memoria a caldo con AWE a 32 bit, ma utilizza circa 500 MB di spazio degli indirizzi virtuali e rende più complicata l'ottimizzazione della memoria. Non è necessaria per SQL Server a 64 bit. L'aggiunta di memoria a caldo è disponibile solo per Windows Server 2003, edizioni Enterprise e Datacenter e richiede il supporto di hardware speciale reperibile presso il fornitore di hardware.

-m

Avvia un'istanza di SQL Server in modalità utente singolo. Quando si avvia un'istanza di SQL Server in modalità utente singolo, la connessione è consentita a un solo utente e il processo CHECKPOINT non viene avviato. CHECKPOINT assicura la regolare scrittura delle transazioni completate dalla cache del disco al database. Questa opzione viene in genere utilizzata per la risoluzione di problemi che richiedono interventi nei database di sistema. Consente di abilitare l'opzione sp_configure allow updates. Per impostazione predefinita, l'opzione allow updates è disabilitata. L'avvio di SQL Server in modalità utente singolo consente a qualsiasi membro del gruppo Administrators locale del computer di connettersi all'istanza di SQL Server come membro del ruolo predefinito del server sysadmin. Per ulteriori informazioni, vedere Risoluzione dei problemi: Connessione a SQL Server se gli amministratori di sistema sono bloccati. Per ulteriori informazioni sulla modalità utente singolo, vedere Avvio di SQL Server in modalità utente singolo.

-m"Nome applicazione client"

Quando si utilizza l'opzione -m con SQLCMD o SQL Server Management Studio, è possibile limitare le connessioni a un'applicazione client specificata. L'utilizzo di -m"SQLCMD" consente ad esempio di limitare le connessioni a una singola connessione che deve identificarsi come programma client SQLCMD. Utilizzare questa opzione quando si avvia SQL Server in modalità utente singolo e tramite un'applicazione client sconosciuta viene eseguito l'accesso all'unica connessione disponibile. Per connettersi tramite l'editor di query in Management Studio, utilizzare l'opzione -m"Microsoft SQL Server Management Studio - Query".

Al nome dell'applicazione client viene applicata la distinzione maiuscole/minuscole.

Nota importanteImportante
Non utilizzare tale opzione come caratteristica di sicurezza. L'applicazione client fornisce il nome dell'applicazione client e può indicare un nome falso come parte della stringa di connessione.

-n

Disattiva l'utilizzo del registro applicazioni di Windows per la registrazione degli eventi di SQL Server. Se un'istanza di SQL Server viene avviata con -n, è consigliabile utilizzare anche l'opzione di avvio -e. In caso contrario, gli eventi di SQL Server non verranno registrati.

-s

Consente l'avvio di un'istanza denominata di SQL Server. Se il parametro -s non è impostato, verrà eseguito un tentativo di avviare l'istanza predefinita. Al prompt dei comandi è necessario passare alla directory BINN appropriata per l'istanza prima di avviare sqlservr.exe. Ad esempio, se in Instance1 si utilizza \mssql$Instance1 per i relativi file binari, l'utente deve passare alla directory \mssql$Instance1\binn per avviare sqlservr.exe -s instance1.

-T trace#

Indica l'avvio di un'istanza di SQL Server con uno specifico flag di traccia (trace#) attivo. I flag di traccia vengono utilizzati per avviare il server con un funzionamento non standard. Per ulteriori informazioni, vedere Flag di traccia (Transact-SQL).

-x

Disabilita le caratteristiche di monitoraggio seguenti:

  • Contatori di Performance Monitor di SQL Server

  • Registrazione di statistiche relative al tempo di CPU e alla frequenza di accesso alla cache

  • Raccolta di informazioni per il comando DBCC SQLPERF

  • Raccolta di informazioni per alcune viste a gestione dinamica (DMV)

  • Molti punti evento di eventi estesi

Nota di attenzioneAttenzione
Quando si utilizza l'opzione di avvio -x, le informazioni disponibili per la diagnosi delle prestazioni e dei problemi funzionali relativi a SQL Server sono notevolmente ridotte.

-E

Aumenta il numero di extent allocati per ogni file in un filegroup. Questa opzione può risultare utile per applicazioni del data warehouse per cui il numero di utenti che eseguono analisi dell'indice o dei dati è limitato. Si consiglia di non utilizzarla in altre applicazioni poiché potrebbe influire negativamente sulle prestazioni. Tale opzione non è supportata nelle versioni a 32 bit di SQL Server.

Nota

Quando si specifica un flag di traccia con l'opzione -T, utilizzare una lettera "T" maiuscola per passare il numero del flag di traccia. La lettera "t" minuscola è accettata da SQL Server, ma imposta altri flag di traccia interni necessari solo ai tecnici del supporto tecnico di SQL Server. I parametri specificati nella finestra di avvio del Pannello di controllo non vengono letti.

Utilizzo delle opzioni di avvio per la risoluzione dei problemi

Alcune opzioni di avvio, ad esempio in modalità utente singolo e con configurazione minima, vengono utilizzate principalmente per la risoluzione dei problemi. L'avvio del server con le opzioni –m o –f per la risoluzione dei problemi risulta più semplice dalla riga di comando, quando si esegue l'avvio manuale di sqlservr.exe.

Nota

Quando SQL Server viene avviato tramite net start, le opzioni di avvio utilizzano una barra (/) anziché un trattino (-).

Utilizzo delle opzioni di avvio durante il funzionamento normale

Può essere necessario utilizzare particolari opzioni a ogni avvio di SQL Server. L'impostazione di queste opzioni, ad esempio –g, o l'avvio con un flag di traccia, risultano più semplici configurando i parametri di avvio tramite SQL Server Management Studio o Gestione configurazione SQL Server. Questi strumenti consentono di salvare le opzioni di avvio come chiavi del Registro di sistema e di avviare SQL Server sempre con le opzioni di avvio.