Condividi tramite


Applicazione sqlservr

L'applicazione sqlservr avvia, arresta, sospende e riprende un'istanza di Microsoft SQL Server dal prompt dei comandi.

Sintassi

  
      sqlservr [-sinstance_name] [-c] [-dmaster_path] [-f]   
     [-eerror_log_path] [-lmaster_log_path] [-m]  
     [-n] [-Ttrace#] [-v] [-x] [-gnumber]  

Argomenti

-s instance_name
Specifica l'istanza di SQL Server alla quale connettersi. Se non si specifica un'istanza denominata, sqlservr avvia l'istanza predefinita di SQL Server.

Importante

Per l'avvio di un'istanza di SQL Server, è necessario usare l'applicazione sqlservr nella directory appropriata per l'istanza. Nel caso dell'istanza predefinita, eseguire sqlservr dalla directory \MSSQL\Binn. Nel caso dell'istanza denominata, eseguire sqlservr dalla directory \MSSQL$\nome_istanza \Binn.

-c
Indica che un'istanza di SQL Server viene avviata indipendentemente da Windows Service Control Manager. Questa opzione viene usata quando si avvia SQL Server da un prompt dei comandi per ridurre il tempo di avvio di SQL Server.

Nota

Se si usa questa opzione, non è possibile arrestare SQL Server usando Gestione servizi SQL Server oppure il comando net stop e SQL Server viene arrestato se si disconnette il computer.

-d master_path
Indica il percorso completo del file del database master . Non sono presenti spazi tra -d e master_path. Se non si imposta questa opzione, vengono utilizzati i parametri esistenti nel Registro di sistema.

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

-e percorso_log_errori
Indica il percorso completo del file di log degli errori. Se non specificato, il percorso predefinito è <Unità>:\Programmi\Microsoft SQL Server\MSSQL\Log\Errorlog per l'istanza predefinita e< Unità>:\Programmi\Microsoft SQL Server\MSSQL$instance_name\Log\Errorlog per un'istanza denominata. Non sono presenti spazi tra -e e error_log_path.

-l percorso_log_master
Indica il percorso completo del file del log delle transazioni del database master . Non sono presenti spazi tra -l e master_log_path.

-m
Indica di avviare un'istanza di SQL Server in modalità utente singolo. Se SQL Server viene avviato in modalità utente singolo, la connessione è consentita solo a un utente. Il meccanismo di CHECKPOINT, che assicura la regolare scrittura delle transazioni completate dalla cache del disco al database, non viene avviato. In genere, questa opzione viene utilizzata quando si riscontrano problemi che richiedono interventi nei database di sistema. L'impostazione abilita l'opzione sp_configure allow updates . Per impostazione predefinita, l'opzione allow updates è disabilitata.

-n
Consente di avviare un'istanza denominata di SQL Server. Se non si specifica il set di parametri -s , viene avviata 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. Se si avvia un'istanza di SQL Server con l'opzione -n, è consigliabile usare anche l'opzione -e. In caso contrario, gli eventi di SQL Server non vengono registrati.

-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 altre informazioni, vedere Flag di traccia (Transact-SQL).

Importante

Quando si specifica un flag di traccia, indicarne il numero usando -T . La lettera minuscola t (-t) è accettata da SQL Server, ma -t imposta altri flag di traccia interni necessari per i tecnici del supporto tecnico per SQL Server.

-v
Visualizza il numero di versione del server.

-x
Disabilita la registrazione delle statistiche relative al tempo di utilizzo della CPU e alla frequenza di accesso alla cache. Consente l'ottimizzazione delle prestazioni.

-g memory_to_reserve
Specifica un numero intero di megabyte (MB) di memoria che SQL Server riserva per le allocazioni di memoria all'interno del processo di SQL Server, ma esternamente al pool di memoria di SQL Server. La memoria esterna al pool di memoria è l'area usata da SQL Server per il caricamento di elementi, ad esempio file di routine .dll estesi, 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ò semplificare l'ottimizzazione dell'allocazione di memoria ma soltanto se la memoria fisica supera il limite configurato specifico del sistema operativo per la memoria virtuale disponibile per le applicazioni. L'uso di questa opzione può essere appropriato nelle configurazioni di memoria di grandi dimensioni in cui i requisiti di utilizzo della memoria di SQL Server sono atipici e lo spazio degli indirizzi virtuali del processo di SQL Server è completamente in uso. L'uso non corretto di questa opzione può causare condizioni in cui un'istanza di SQL Server potrebbe non essere avviata o potrebbe riscontrare errori di runtime.

Usare il valore predefinito per il parametro -g , a meno che non venga visualizzato uno degli avvisi seguenti nel log degli errori di SQL Server:

  • "Failed Virtual Allocate Bytes: FAIL_VIRTUAL_RESERVE size" (Byte allocati virtuali non riusciti: dimensioni> FAIL_VIRTUAL_RESERVE<)

  • "Failed Virtual Allocate Bytes: FAIL_VIRTUAL_COMMIT size" (Byte allocati virtuali non riusciti: dimensioni> FAIL_VIRTUAL_COMMIT<)

Questi messaggi possono indicare che SQL Server sta tentando di liberare parti del pool di memoria di SQL Server per trovare spazio per elementi come la stored procedure estesa .dll file o oggetti di automazione. In questo caso è consigliabile aumentare la quantità di memoria riservata usando l'opzione -g.

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

Osservazioni:

Nella maggior parte dei casi il programma sqlservr.exe viene utilizzato solo per la risoluzione dei problemi o interventi di manutenzione ordinaria. Se si avvia SQL Server dal prompt dei comandi con sqlservr.exe, SQL Server non viene avviato come servizio. Quindi, non sarà possibile arrestare SQL Server usando i comandi net. Gli utenti possono connettersi a SQL Server, ma gli strumenti di SQL Server indicano lo stato del servizio. Di conseguenza, Gestione configurazione SQL Server indica correttamente che il servizio è stato arrestato. SQL Server Management Studio può connettersi al server anche se indica che il servizio è stato arrestato.

Informazioni sulla compatibilità

Il parametro -h non è supportato in SQL Server 2014. Questo parametro è stato usato nelle versioni precedenti di istanze a 32 bit di SQL Server per riservare lo spazio degli indirizzi di memoria virtuale per l'aggiunta frequente di metadati di memoria quando AWE è abilitato. Per altre informazioni, vedere Funzionalità di SQL Server obsolete in SQL Server 2014.

Vedi anche

Opzioni di avvio del servizio del motore di database