Opzioni di avvio del servizio del motore di database

Le opzioni di avvio consentono di designare determinati percorsi di file necessari in fase di avvio e di specificare alcune condizioni a livello di server. Per la maggior parte degli utenti non è necessario specificare opzioni di avvio a meno che non si debbano risolvere problemi del Motore di databaseDatabase Engine o si verifichi un problema insolito e si ricevano istruzioni dal servizio di supporto tecnico di SQL ServerSQL Server di utilizzare l'opzione di avvio.

Avviso

L'utilizzo improprio di opzioni di avvio può influire sulle prestazioni del server e impedire l'esecuzione di SQL ServerSQL Server.

Informazioni sulle opzioni di avvio

Quando si installa SQL ServerSQL Server, il programma di installazione scrive un set di opzioni di avvio predefinite nel Registro di sistema di MicrosoftMicrosoft 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. Se Motore di databaseDatabase Engine non è in grado di individuare i file necessario, SQL ServerSQL Server non viene avviato.

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

Elenco delle opzioni di avvio

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). Se non si specifica questa opzione, vengono utilizzati i parametri esistenti nel Registro di sistema.
Altre opzioni di avvio Descrizione
-c Riduce i tempi necessari per l'avvio quando si avvia SQL ServerSQL Server dal prompt dei comandi. Il Motore di database di SQL ServerSQL Server Database Engine viene in genere avviato come servizio chiamando Gestione controllo servizi. Considerato che Motore di database di SQL ServerSQL Server Database Engine non viene avviato come servizio quando viene eseguito l'avvio dal prompt dei comandi, usare -c per ignorare questo passaggio.
-f Avvia un'istanza di SQL ServerSQL 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 ServerSQL Server con la configurazione minima comporta l'attivazione della modalità utente singolo di SQL ServerSQL Server. Per altre informazioni, vedere la descrizione di -m di seguito.
-g memory_to_reserve Specifica un numero intero di megabyte di memoria che SQL ServerSQL Server manterrà disponibili per le allocazioni di memoria internamente al processo di SQL ServerSQL Server, ma esternamente al pool di memoria di SQL ServerSQL Server. La memoria esterna al pool di memoria è l'area utilizzata da SQL ServerSQL Server per il caricamento di elementi, ad esempio i file con estensione dll delle procedure estese, i provider OLE DB cui fanno riferimento le query distribuite e gli oggetti di automazione cui viene fatto riferimento nelle istruzioni Transact-SQLTransact-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 ServerSQL Server risultano atipici e lo spazio degli indirizzi virtuali del processo di SQL ServerSQL Server è completamente utilizzato. L'utilizzo errato di questa opzione può impedire l'avvio dell'istanza di SQL ServerSQL Server o generare errori di esecuzione.

Usare il valore predefinito per il parametro -g a meno che nel log degli errori di SQL ServerSQL Server non venga visualizzato 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 ServerSQL Server sta tentando di liberare settori del pool di memoria di SQL ServerSQL Server per l'inserimento di elementi, ad esempio i file con estensione dll delle stored procedure estese o gli oggetti di automazione. In questo caso, è consigliabile aumentare la quantità di memoria riservata usando l'opzione -g.

L'utilizzo di un valore minore di quello predefinito aumenta la quantità di memoria disponibile per il pool di memoria gestito da Gestione memoria e dagli stack di thread di SQL Server, offrendo alcuni vantaggi in termini di 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.
-m Avvia un'istanza di SQL ServerSQL Server in modalità utente singolo. Quando si avvia un'istanza di SQL ServerSQL 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 Abilita l'opzione sp_configure allow updates. Per impostazione predefinita, l'opzione allow updates è disabilitata. L'avvio di SQL ServerSQL Server in modalità utente singolo consente a qualsiasi membro del gruppo Administrators locale del computer di connettersi all'istanza di SQL ServerSQL Server come membro del ruolo predefinito del server sysadmin. Per altre informazioni, vedere Connettersi a SQL Server se gli amministratori di sistema sono bloccati. Per altre informazioni sulla modalità utente singolo, vedere Avvio di SQL Server in modalità utente singolo.
-m nome dell'applicazione client Limita le connessioni a un'applicazione client specificata. Ad esempio, -mSQLCMD limita le connessioni a una singola connessione, che deve identificarsi come programma client SQLCMD. Utilizzare questa opzione quando si avvia SQL ServerSQL Server in modalità utente singolo e un'applicazione client sconosciuta accede all'unica connessione disponibile. Usare "Microsoft SQL Server Management Studio - Query" per connettersi con l'editor di query SSMS. L'opzione dell'editor di query SSMS non può essere configurata tramite Gestione configurazione SQL ServerSQL Server perché include il trattino che è invece rifiutato dallo strumento.

Al nome dell'applicazione client viene applicata la distinzione maiuscole/minuscole. Sono necessarie le virgolette doppie se il nome dell'applicazione contiene spazi o caratteri speciali.

Esempi di avvio dalla riga di comando:

C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Binn\sqlserver -s MSSQLSERVER -m"Microsoft SQL Server Management Studio - Query"

C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Binn\sqlserver -s MSSQLSERVER -mSQLCMD

** Nota di sicurezza *\* Non usare questa opzione come caratteristica di sicurezza. L'applicazione client fornisce il nome dell'applicazione client stessa 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 ServerSQL Server. Se un'istanza di SQL ServerSQL Server viene avviata con -n, è consigliabile usare anche l'opzione di avvio -e. In caso contrario, gli eventi di SQL ServerSQL Server non verranno registrati.
-s Avvia un'istanza denominata di SQL ServerSQL 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 Instance1 usa \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 ServerSQL 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 altre informazioni, vedere Flag di traccia (Transact-SQL).

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

SQL ServerSQL Server Contatori di Performance Monitor

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

Molti punti evento di eventi estesi



** Avviso *\* Quando si usa l'opzione di avvio –x, le informazioni disponibili per la diagnosi delle prestazioni e dei problemi funzionali relativi a SQL ServerSQL 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 ServerSQL Server.

Utilizzo delle opzioni di avvio per la risoluzione dei problemi

Alcune opzioni di avvio, ad esempio la modalità utente singolo e con configurazione minima, vengono utilizzate principalmente per la risoluzione dei problemi. L'avvio del server con l'opzione –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 ServerSQL Server viene avviato usando net start, le opzioni di avvio usano 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 ServerSQL Server. L'impostazione di queste opzioni, ad esempio –g o l'avvio con un flag di traccia, è più semplice se si configurano i parametri di avvio con Gestione configurazione SQL ServerSQL Server. Questi strumenti consentono di salvare le opzioni di avvio come chiavi del Registro di sistema e di avviare SQL ServerSQL Server sempre con le opzioni di avvio.

Informazioni sulla compatibilità

Il parametro -h non è supportato in SQL Server 2017SQL Server 2017. Questo parametro è stato utilizzato in versioni precedenti di istanze a 32 bit di SQL ServerSQL Server per riservare spazio di indirizzi della memoria virtuale per metadati della memoria a caldo quando AWE è abilitato. Per ulteriori informazioni, vedere Funzionalità di SQL Server obsolete in SQL Server 2016.

Attività correlate

Configurare l'opzione di configurazione del server scan for startup procs

Avviare, arrestare, sospendere, riprendere, riavviare il motore di database, SQL Server Agent o SQL Server Browser

Vedere anche

CHECKPOINT (Transact-SQL)
Applicazione sqlservr