Applicazione sqlservr

L'applicazione sqlservr consente di avviare, arrestare, sospendere e riprendere 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.

    Nota importanteImportante

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

  • -c
    Indica l'avvio di un'istanza di SQL Server in modo indipendente da Gestione controllo servizi di Windows. Questa opzione viene utilizzata dal prompt dei comandi all'avvio di SQL Server per ridurre il tempo di avvio di SQL Server.

    [!NOTA]

    Se si utilizza questa opzione, non è possibile arrestare SQL Server utilizzando Gestione servizi SQL Server oppure il comando net stop. SQL Server viene arrestato se si esegue la disconnessione dal sistema.

  • -d master_path
    Indica il percorso completo del file del database master. Non aggiungere 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 error_log_path
    Indica il percorso completo del file di log degli errori. Se non specificato, il percorso predefinito è <Drive>:\Programmi\Microsoft SQL Server\MSSQL\Log\Errorlog per l'istanza predefinita e <Drive>:\Programmi\Microsoft SQL Server\MSSQL$instance_name\Log\Errorlog per un'istanza denominata. Non aggiungere spazi tra -e e error_log_path.

  • -l master_log_path
    Indica il percorso completo del file del log delle transazioni del database master. Non aggiungere spazi tra -l e master_log_path.

  • -m
    Indica l'avvio di 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
    Avvia 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 utilizza \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 utilizzare 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 ulteriori informazioni, vedere Flag di traccia (Transact-SQL).

    Nota importanteImportante

    Quando si specifica il flag di traccia, indicarne il numero utilizzando -T. La lettera minuscola t (-t) è accettata in SQL Server. Tuttavia, -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 in cui SQL Server carica elementi quali file .dll delle procedure estese, provider OLE DB ai quali fanno riferimento le query distribuite e oggetti di automazione ai quali fanno riferimento le 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'opzione può risultare appropriata 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 virtuale del processo SQL Server è utilizzato completamente. L'utilizzo errato di questa opzione può impedire l'avvio dell'istanza di SQL Server o generare errori di esecuzione.

    Utilizzare il valore predefinito per il parametro -g a meno che nel log degli 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 cercando di liberare settori del pool di memoria di SQL Server per l'inserimento di oggetti quali file dll per 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 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. Non sarà pertanto possibile arrestare SQL Server utilizzando 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.

Supporto della compatibilità

Il parametro -h non è supportato in SQL Server 2012. Questo parametro è stato utilizzato in versioni precedenti di istanze a 32 bit di SQL 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 2012.

Vedere anche

Concetti

Opzioni di avvio del servizio del motore di database