Utilizzo delle opzioni di avvio del servizio SQL Server

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

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 log degli 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).

È 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.

-g memory_to_reserve

Specifica un numero intero di megabyte di memoria che SQL Server lascerà 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 produrre errori durante l'esecuzione.

Utilizzare il valore predefinito per il parametro -g, a meno che nel log degli errori di SQL Server non venga riportato uno degli avvisi 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 oggetti 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 dell'aggiunta di memoria a caldo quando la memoria AWE è attivata con SQL Server 2005 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 , 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. L'impostazione attiva l'opzione sp_configure allow updates. Per impostazione predefinita, l'opzione allow updates è disattivata.

-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 2005. Se il parametro -s non è impostato, verrà eseguito un tentativo di avviare l'istanza predefinita. Prima di avviare sqlservr.exe è necessario passare alla directory BINN appropriata per l'istanza utilizzando il prompt dei comandi. Se, ad esempio, Instance1 utilizza \mssql$Instance1 per i relativi file binari, l'utente dovrà avviare sqlservr.exe -s instance1 dalla directory \mssql$Instance1\binn.

-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

Disattiva la registrazione di statistiche relative al tempo di CPU e alla frequenza di accesso alla cache. Consente l'ottimizzazione delle prestazioni.

[!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.

Vedere anche

Attività

Procedura: Avvio di un'istanza di SQL Server (sqlservr.exe)
Procedura: Avvio di un'istanza di SQL Server (Gestione configurazione SQL Server)
Procedura: Avvio di un'istanza di SQL Server (comandi net)

Altre risorse

Gestione di SQL Server dal prompt dei comandi utilizzando sqlservr.exe
CHECKPOINT (Transact-SQL)

Guida in linea e informazioni

Assistenza su SQL Server 2005