Opzioni di avvio del servizio del motore di databaseDatabase Engine Service Startup Options

In questo argomento si applica a: SìSQL ServernonDatabase SQL di AzurenonAzure SQL Data Warehouse non Parallel Data WarehouseTHIS TOPIC APPLIES TO: yesSQL ServernoAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse 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. Startup options designate certain file locations needed during startup, and specify some server wide conditions. 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.Most users do not need to specify startup options unless you are troubleshooting the Motore di databaseDatabase Engine or you have an unusual problem and are directed to use a startup option by SQL ServerSQL Server Customer Support.

Avviso

L'utilizzo improprio di opzioni di avvio può influire sulle prestazioni del server e impedire l'esecuzione di SQL ServerSQL Server .Improper use of startup options can affect server performance and can prevent SQL ServerSQL Server from starting.

Avviare SQL Server in Linux con l'utente "mssql" per evitare problemi di avvio futuri.Start SQL Server on Linux with the "mssql" user to prevent future startup issues. Esempio: sudo -u mssql /opt/mssql/bin/sqlservr [STARTUP OPTIONS]Example: sudo -u mssql /opt/mssql/bin/sqlservr [STARTUP OPTIONS]

Informazioni sulle opzioni di avvioAbout Startup Options

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.When you install SQL ServerSQL Server, Setup writes a set of default startup options in the MicrosoftMicrosoft Windows registry. 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.You can use these startup options to specify an alternate master database file, master database log file, or error log file. Se Motore di databaseDatabase Engine non è in grado di individuare i file necessario, SQL ServerSQL Server non viene avviato.If the Motore di databaseDatabase Engine cannot locate the necessary files, SQL ServerSQL Server will not start.

Le opzioni di avvio possono essere impostate utilizzando Gestione configurazione SQL ServerSQL Server.Startup options can be set by using SQL ServerSQL Server Configuration Manager. Per altre informazioni, vedere Configurazione delle opzioni di avvio del server (Gestione di configurazione SQL Server).For information, see Configure Server Startup Options (SQL Server Configuration Manager).

Elenco delle opzioni di avvioList of Startup Options

Opzioni di avvio predefiniteDefault startup options

OpzioniOptions DescriptionDescription
-d master_file_path-d master_file_path Percorso completo del file del database master (in genere, C:\Programmi\Microsoft SQL Server\MSSQL.n\MSSQL\Data\master.mdf).Is the fully qualified path for the master database file (typically, C:\Program Files\Microsoft SQL Server\MSSQL.n\MSSQL\Data\master.mdf). Se non si imposta questa opzione, vengono utilizzati i parametri esistenti nel Registro di sistema.If you do not provide this option, the existing registry parameters are used.
-e error_log_path-e error_log_path Percorso completo del file di log degli errori, in genere C:\Programmi\Microsoft SQL Server\MSSQL.n\MSSQL\LOG\ERRORLOG).Is the fully qualified path for the error log file (typically, C:\Program Files\Microsoft SQL Server\MSSQL.n\MSSQL\LOG\ERRORLOG). Se non si imposta questa opzione, vengono utilizzati i parametri esistenti nel Registro di sistema.If you do not provide this option, the existing registry parameters are used.
-l master_log_path-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).Is the fully qualified path for the master database log file (typically C:\Program Files\Microsoft SQL Server\MSSQL.n\MSSQL\Data\mastlog.ldf). Se non si specifica questa opzione, vengono utilizzati i parametri esistenti nel Registro di sistema.If you do not specify this option, the existing registry parameters are used.

Altre opzioni di avvioOther startup options

OpzioniOptions DescriptionDescription
-c-c Riduce i tempi necessari per l'avvio quando si avvia SQL ServerSQL Server dal prompt dei comandi.Shortens startup time when starting SQL ServerSQL Server from the command prompt. Il Motore di database di SQL ServerSQL Server Database Engine viene in genere avviato come servizio chiamando Gestione controllo servizi.Typically, the Motore di database di SQL ServerSQL Server Database Engine starts as a service by calling the Service Control Manager. 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.Because the Motore di database di SQL ServerSQL Server Database Engine does not start as a service when starting from the command prompt, use -c to skip this step.
-f-f Avvia un'istanza di SQL ServerSQL Server con la configurazione minima.Starts an instance of SQL ServerSQL Server with minimal configuration. È 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.This is useful if the setting of a configuration value (for example, over-committing memory) has prevented the server from starting. L'avvio di SQL ServerSQL Server con la configurazione minima comporta l'attivazione della modalità utente singolo di SQL ServerSQL Server .Starting SQL ServerSQL Server in minimal configuration mode places SQL ServerSQL Server in single-user mode. Per altre informazioni, vedere la descrizione di -m di seguito.For more information, see the description for -m that follows.
-g memory_to_reserve-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 definito dall'impostazione server max_server_memory.Specifies an integer number of megabytes (MB) of memory that SQL ServerSQL Server will leave available for memory allocations within the SQL ServerSQL Server process, but outside the SQL ServerSQL Server memory pool set by max_server_memory server setting. 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 .The memory outside of the memory pool is the area used by SQL ServerSQL Server for loading items, such as extended procedure .dll files, the OLE DB providers referenced by distributed queries, and automation objects referenced in Transact-SQLTransact-SQL statements. Il valore predefinito è 256 MB.The default is 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.Use of this option might help tune memory allocation, but only when physical memory exceeds the configured limit set by the operating system on virtual memory available to applications. 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.Use of this option might be appropriate in large memory configurations in which the memory usage requirements of SQL ServerSQL Server are atypical and the virtual address space of the SQL ServerSQL Server process is totally in use. L'utilizzo errato di questa opzione può impedire l'avvio dell'istanza di SQL ServerSQL Server o generare errori di esecuzione.Incorrect use of this option can lead to conditions under which an instance of SQL ServerSQL Server may not start or may encounter run-time errors.

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:Use the default for the -g parameter unless you see any of the following warnings in the SQL ServerSQL Server error log:
"Failed Virtual Allocate Bytes: FAIL_VIRTUAL_RESERVE <size>""Failed Virtual Allocate Bytes: FAIL_VIRTUAL_RESERVE <size>"
"Failed Virtual Allocate Bytes: FAIL_VIRTUAL_COMMIT <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.These messages might indicate that SQL ServerSQL Server is trying to free parts of the SQL ServerSQL Server memory pool in order to find space for items, such as extended stored procedure .dll files or automation objects. In questo caso, è consigliabile aumentare la quantità di memoria riservata usando l'opzione -g .In this case, consider increasing the amount of memory reserved by the -g switch.

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.Using a value lower than the default will increase the amount of memory available to the memory pool managed by the SQL Server Memory Manager and thread stacks; this may, in turn, provide some performance benefit to memory-intensive workloads in systems that do not use many extended stored procedures, distributed queries, or automation objects.
-m-m Avvia un'istanza di SQL ServerSQL Server in modalità utente singolo.Starts an instance of SQL ServerSQL Server in single-user mode. 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.When you start an instance of SQL ServerSQL Server in single-user mode, only a single user can connect, and the CHECKPOINT process is not started. CHECKPOINT assicura la regolare scrittura delle transazioni completate dalla cache del disco al database.CHECKPOINT guarantees that completed transactions are regularly written from the disk cache to the database device. 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.(Typically, this option is used if you experience problems with system databases that should be repaired.) Enables the sp_configure allow updates option. Per impostazione predefinita, l'opzione allow updates è disabilitata.By default, allow updates is disabled. 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.Starting SQL ServerSQL Server in single-user mode enables any member of the computer's local Administrators group to connect to the instance of SQL ServerSQL Server as a member of the sysadmin fixed server role. 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.For more information, see Connect to SQL Server When System Administrators Are Locked Out. For more information about single-user mode, see Start SQL Server in Single-User Mode.
-m nome dell'applicazione client-mClient Application Name Limita le connessioni a un'applicazione client specificata.Limits the connections to a specified client application. Ad esempio, -mSQLCMD limita le connessioni a una singola connessione, che deve identificarsi come programma client SQLCMD.For example, -mSQLCMD limits connections to a single connection and that connection must identify itself as the SQLCMD client program. Utilizzare questa opzione quando si avvia SQL ServerSQL Server in modalità utente singolo e un'applicazione client sconosciuta accede all'unica connessione disponibile.Use this option when you are starting SQL ServerSQL Server in single-user mode and an unknown client application is taking the only available connection. Usare "Microsoft SQL Server Management Studio - Query" per connettersi con l'editor di query SSMS.Use "Microsoft SQL Server Management Studio - Query" to connect with the SSMS Query Editor. 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.The SSMS Query Editor option cannot be configured by using SQL ServerSQL Server Configuration Manager because it includes the dash character which is rejected by the tool.

Al nome dell'applicazione client viene applicata la distinzione maiuscole/minuscole.Client Application Name is case sensitive. Sono necessarie le virgolette doppie se il nome dell'applicazione contiene spazi o caratteri speciali.Double quotes are required if the application name contains spaces or special characters.

Esempi di avvio dalla riga di comando:Examples when starting from the command line:

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 sulla sicurezza: non usare questa opzione come caratteristica di sicurezza.Security Note: Do not use this option as a security feature. L'applicazione client fornisce il nome dell'applicazione client stessa e può indicare un nome falso come parte della stringa di connessione.The client application provides the client application name, and can provide a false name as part of the connection string.
-n Disattiva l'utilizzo del registro applicazioni di Windows per la registrazione degli eventi di SQL ServerSQL Server .Does not use the Windows application log to record SQL ServerSQL Server events. Se un'istanza di SQL ServerSQL Server viene avviata con -n, è consigliabile usare anche l'opzione di avvio -e .If you start an instance of SQL ServerSQL Server with -n, we recommend that you also use the -e startup option. In caso contrario, gli eventi di SQL ServerSQL Server non verranno registrati.Otherwise, SQL ServerSQL Server events are not logged.
-s-s Avvia un'istanza denominata di SQL ServerSQL Server.Allows you to start a named instance of SQL ServerSQL Server. Se il parametro -s non è impostato, verrà eseguito un tentativo di avviare l'istanza predefinita.Without the -s parameter set, the default instance will try to start. Al prompt dei comandi è necessario passare alla directory BINN appropriata per l'istanza prima di avviare sqlservr.exe.You must switch to the appropriate BINN directory for the instance at a command prompt before starting 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.For example, if Instance1 were to use \mssql$Instance1 for its binaries, the user must be in the \mssql$Instance1\binn directory to start sqlservr.exe -s instance1.
-T trace#-T trace# Indica l'avvio di un'istanza di SQL ServerSQL Server con uno specifico flag di traccia (trace#) attivo.Indicates that an instance of SQL ServerSQL Server should be started with a specified trace flag (trace#) in effect. I flag di traccia vengono utilizzati per avviare il server con un funzionamento non standard.Trace flags are used to start the server with nonstandard behavior. Per altre informazioni, vedere Flag di traccia (Transact-SQL).For more information, see Trace Flags (Transact-SQL).

Importante: quando si specifica un flag di traccia con l'opzione -T, usare la lettera "T" maiuscola per passare il numero del flag di traccia.Important: When specifying a trace flag with the -T option, use an uppercase "T" to pass the trace flag number. 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 .A lowercase "t" is accepted by SQL ServerSQL Server, but this sets other internal trace flags that are required only by SQL ServerSQL Server support engineers. I parametri specificati nella finestra di avvio del Pannello di controllo non vengono letti.(Parameters specified in the Control Panel startup window are not read.)
-x-x Disabilita le caratteristiche di monitoraggio seguenti:Disables the following monitoring features:
- SQL ServerSQL Server Contatori di Performance Monitor- SQL ServerSQL Server performance monitor counters
- Registrazione di statistiche relative al tempo di utilizzo della CPU e alla frequenza di accesso alla cache- Keeping CPU time and cache-hit ratio statistics
- Raccolta di informazioni per il comando DBCC SQLPERF- Collecting information for the DBCC SQLPERF command
- Raccolta di informazioni per alcune viste a gestione dinamica- Collecting information for some dynamic management views
- Numerosi punti evento di eventi estesi- Many extended-events event points

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.Warning: When you use the –x startup option, the information that is available for you to diagnose performance and functional problems with SQL ServerSQL Server is greatly reduced.
-E-E Aumenta il numero di extent allocati per ogni file in un filegroup.Increases the number of extents that are allocated for each file in a 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.This option may be helpful for data warehouse applications that have a limited number of users running index or data scans. Si consiglia di non utilizzarla in altre applicazioni poiché potrebbe influire negativamente sulle prestazioni.It should not be used in other applications because it might adversely affect performance. Tale opzione non è supportata nelle versioni a 32 bit di SQL ServerSQL Server.This option is not supported in 32-bit releases of SQL ServerSQL Server.

Utilizzo delle opzioni di avvio per la risoluzione dei problemiUsing Startup Options for Troubleshooting

Alcune opzioni di avvio, ad esempio la modalità utente singolo e con configurazione minima, vengono utilizzate principalmente per la risoluzione dei problemi.Some startup options, such as single-user mode and minimal configuration mode, are principally used during troubleshooting. 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.Starting the server for troubleshooting with the –m or –f options is easiest at the command line, while manually starting sqlservr.exe.

Nota

Quando SQL ServerSQL Server viene avviato usando net start, le opzioni di avvio usano una barra (/) anziché un trattino (-).When SQL ServerSQL Server is started by using net start, startup options use a slash (/) instead of a hyphen (-).

Utilizzo delle opzioni di avvio durante il funzionamento normaleUsing Startup Options During Normal Operations

Può essere necessario utilizzare particolari opzioni a ogni avvio di SQL ServerSQL Server.You may want to use some startup options every time you start 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 .These options, such as –g or starting with a trace flag, are most easily done by configuring the startup parameters by using SQL ServerSQL Server Configuration Manager. 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.These tool saves the startup options as registry keys, enabling SQL ServerSQL Server to always start with the startup options.

Informazioni sulla compatibilitàCompatibility Support

Il parametro -h non è supportato in SQL Server 2017SQL Server 2017.The -h parameter is not supported 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.This parameter was used in earlier versions of 32-bit instances of SQL ServerSQL Server to reserve virtual memory address space for Hot Add memory metadata when AWE is enabled. Per ulteriori informazioni, vedere Funzionalità di SQL Server obsolete in SQL Server 2016.For more information, see Discontinued SQL Server Features in SQL Server 2016.

Configurare l'opzione di configurazione del server scan for startup procsConfigure the scan for startup procs Server Configuration Option
Avviare, arrestare, sospendere, riprendere, riavviare il motore di database, SQL Server Agent o SQL Server Browser Configure Server Startup Options (Configurare le opzioni di avvio del server) (SQL Server Configuration Manager)Start, Stop, Pause, Resume, Restart the Database Engine, SQL Server Agent, or SQL Server Browser Service Configure Server Startup Options (SQL Server Configuration Manager)

Vedere ancheSee Also

CHECKPOINT (Transact-SQL) CHECKPOINT (Transact-SQL)
sqlservrsqlservr Application