Avviare, arrestare, sospendere, riprendere e riavviare i servizi SQL Server
Si applica a: SQL Server - solo Windows
Questo articolo descrive come avviare, arrestare, sospendere, riprendere o riavviare il motore di database di SQL Server, SQL Server Agent o il servizio SQL Server Browser in Windows usando Gestione configurazione SQL Server, SQL Server Management Studio (SSMS), i comandi net da un prompt dei comandi, Transact-SQL o PowerShell.
Per SQL Server in Linux, vedere Avviare, arrestare e riavviare i servizi SQL Server in Linux.
Identificare il servizio
I componenti di SQL Server sono programmi eseguibili che vengono eseguiti come servizi di Windows. I servizi di Windows possono essere eseguiti senza visualizzare alcuna attività sullo schermo del computer e senza l'interazione dell'utente nella riga di comando.
Servizio | Descrizione |
---|---|
Servizio del motore di database | Il servizio Motore di database può essere l'istanza predefinita (una per computer) o una delle molte istanze denominate nel computer. Usare Gestione configurazione SQL Server per sapere quali istanze del motore di database sono installate nel computer. L'istanza predefinita (se installata) è indicata come SQL Server (MSSQLSERVER). Le istanze denominate (se installate) sono indicate come SQL Server (<nome_istanza>). Per impostazione predefinita, SQL Server Express è installato come SQL Server (SQLEXPRESS). |
Servizio Agente di SQL Server | Il servizio SQL Server Agent esegue attività amministrative pianificate, ovvero processi e avvisi. Per altre informazioni, vedere SQL Server Agent. SQL Server Agent non è disponibile in tutte le edizioni di SQL Server. Per un elenco delle funzionalità supportate dalle varie edizioni di SQL Server, vedere Edizioni e funzionalità supportate di SQL Server 2022. |
Servizio SQL Server Browser | Il servizio SQL Server Browser rimane in ascolto delle richieste in arrivo per le risorse di SQL Server e fornisce informazioni client sulle istanze di SQL Server installate nel computer. Viene usata una singola istanza del servizio SQL Server Browser da tutte le istanze di SQL Server installate nel computer. |
Se si sospende il servizio Motore di database, gli utenti già connessi possono continuare a lavorare finché le connessioni non vengono interrotte, ma i nuovi utenti non possono connettersi al motore di database. Usare Sospendi quando si vuole attendere che gli utenti completino il lavoro prima di arrestare il servizio, consentendo loro di completare le transazioni in corso. Riprendi consente al motore di database di accettare nuove connessioni. Non è inoltre possibile sospendere né riprendere il servizio SQL Server Agent.
In Gestione configurazione SQL Server e SSMS viene visualizzato lo stato corrente dei servizi tramite le icone seguenti.
Gestione configurazione SQL Server | SQL Server Management Studio (SSMS) | |
---|---|---|
Introduzione | Una freccia verde sull'icona accanto al nome del servizio | Una freccia bianca su un cerchio verde accanto al nome del servizio |
Arrestato | Un quadrato rosso sull'icona accanto al nome del servizio | Un quadrato bianco su un cerchio rosso accanto al nome del servizio |
In pausa | Due linee blu verticali sull'icona accanto al nome del servizio | Due linee bianche verticali su un cerchio blu accanto al nome del servizio |
Riavvio | Un quadrato rosso indica che il servizio è stato arrestato, dopodiché una freccia verde indica che il servizio è stato avviato correttamente | None |
Non si ha accesso a tutte le opzioni possibili quando si usa Gestione configurazione SQL Server o SSMS, a seconda dello stato del servizio. Ad esempio, se il servizio è già avviato, l'opzione Avvia non è disponibile.
Se eseguito in un cluster, il servizio motore di database di SQL Server verrà gestito al meglio tramite Amministrazione cluster.
Autorizzazioni
Per impostazione predefinita, solo i membri del gruppo di amministratori locale possono avviare, arrestare, sospendere, riprendere o riavviare un servizio. Per concedere a utenti non amministratori la possibilità di gestire servizi, vedere Concedere agli utenti i privilegi per gestire i servizi. Il processo è analogo in altre versioni di Windows Server.
L'arresto del motore di database con il comando SHUTDOWN
Transact-SQL richiede l'appartenenza ai ruoli predefiniti del server sysadmin oppure serveradmin e non è trasferibile.
Gestione configurazione SQL Server
Gestione configurazione SQL Server è uno snap-in per il programma Microsoft Management Console e potrebbe non essere visualizzato come applicazione in alcune versioni di Windows. Per altre informazioni, vedere Gestione configurazione SQL Server.
Avviare Gestione configurazione SQL Server
Nel menu Start, selezionare Tutti i programmi> Microsoft SQL Server > Strumenti di configurazione> Gestione configurazione SQL Server.
Avviare, arrestare, sospendere, riprendere o riavviare un'istanza del motore di database di SQL Server
Avviare Gestione configurazione SQL Server seguendo le istruzioni riportate nella sezione precedente.
Se viene visualizzata la finestra di dialogo Controllo account utente selezionare Sì.
Nel riquadro sinistro di Gestione configurazione SQL Server selezionare Servizi di SQL Server.
Nel riquadro dei risultati fare clic con il pulsante destro del mouse su SQL Server (MSSQLServer) o su un'istanza denominata, quindi scegliere Avvia, Arresta, Sospendi, Riprendi o Riavvia.
Selezionare OK per chiudere lo strumento Gestione configurazione SQL Server.
Per avviare un'istanza del motore di database con le opzioni di avvio, vedere Configurare le opzioni di avvio del server (Gestione configurazione SQL Server).
Importante
A partire dalla versione SQL Server 2022 (16.x), quando si imposta la modalità di Avvio per un servizio SQL Server su Automatico in Configuration Manager, il servizio viene avviato in modalità Automatica (Avvio ritardato), anche se la modalità di Avvio Start viene visualizzata come Automatica.
Avviare, arrestare, sospendere, riprendere o riavviare SQL Server Browser o un'istanza di SQL Server Agent
Avviare Gestione configurazione SQL Server seguendo le istruzioni riportate nella sezione precedente.
Se viene visualizzata la finestra di dialogo Controllo account utente selezionare Sì.
Nel riquadro sinistro di Gestione configurazione SQL Server selezionare Servizi di SQL Server.
Nel riquadro dei risultati fare clic con il pulsante destro del mouse su SQL Server Browser, SQL Server Agent (MSSQLServer) o SQL Server Agent (<nome_istanza>) per un'istanza denominata e quindi scegliere Avvia, Arresta, Sospendi, Riprendi o Riavvia.
Selezionare OK per chiudere lo strumento Gestione configurazione SQL Server.
Nota
Non è possibile sospendere SQL Server Agent.
SQL Server Management Studio
Utilizzare SQL Server Management Studio per gestire i servizi del motore di database di SQL Server.
Avviare, arrestare, sospendere, riprendere o riavviare un'istanza del motore di database
In Esplora oggetti connettersi all'istanza del motore di database, fare clic con il pulsante destro del mouse sull'istanza del motore di database da avviare e quindi scegliere Avvia, Arresta, Sospendi, Riprendi o Riavvia.
In alternativa, in Server registrati fare clic con il pulsante destro del mouse sull'istanza del motore di database da avviare, scegliere Controllo servizi e quindi selezionare Avvia, Arresta, Sospendi, Riprendi o Riavvia.
Se viene visualizzata la finestra di dialogo Controllo account utente selezionare Sì.
Quando viene richiesto se si vuole intervenire, selezionare Sì.
Avviare, arrestare o riavviare un'istanza di SQL Server Agent
In Esplora oggetti connettersi all'istanza del motore di database, fare clic con il pulsante destro del mouse su SQL Server Agent e quindi scegliere Avvia, Arresta o Riavvia.
Se viene visualizzata la finestra di dialogo Controllo account utente selezionare Sì.
Quando viene richiesto se si vuole intervenire, selezionare Sì.
Uso dei comandi net dalla finestra del prompt dei comandi
I servizi SQL Server possono essere avviati, arrestati o sospesi usando i comandi net di Windows.
Avviare l'istanza predefinita del motore di database
Al prompt dei comandi digitare uno dei comandi seguenti:
net start "SQL Server (MSSQLSERVER)"
oppure
net start MSSQLSERVER
Avviare un'istanza denominata del motore di database
Al prompt dei comandi digitare uno dei comandi seguenti. Sostituire <instancename> con il nome dell'istanza da gestire.
net start "SQL Server (instancename)"
oppure
net start MSSQL$instancename
Avviare il motore di database con le opzioni di avvio
Aggiungere opzioni di avvio alla fine dell'istruzione net start "SQL Server (MSSQLSERVER)"
separate da uno spazio. Quando vengono avviate con net start
, le opzioni di avvio usano una barra (/) anziché un trattino (-).
net start "SQL Server (MSSQLSERVER)" /f /m
oppure
net start MSSQLSERVER /f /m
Nota
Per altre informazioni sulle opzioni di avvio, vedere Opzioni di avvio del servizio del motore di database.
Avviare SQL Server Agent nell'istanza predefinita di SQL Server
Al prompt dei comandi digitare uno dei comandi seguenti:
net start "SQL Server Agent (MSSQLSERVER)"
oppure
net start SQLSERVERAGENT
Avviare SQL Server Agent in un'istanza denominata di SQL Server
Al prompt dei comandi digitare uno dei comandi seguenti. Sostituire instancename con il nome dell'istanza da gestire.
net start "SQL Server Agent (instancename)"
oppure
net start SQLAgent$instancename
Per informazioni sull'esecuzione di SQL Server Agent in modalità dettagliata per la risoluzione dei problemi, vedere Applicazione sqlagent90.
Avviare il servizio SQL Server Browser
Al prompt dei comandi digitare uno dei comandi seguenti:
net start "SQL Server Browser"
oppure
net start SQLBrowser
Sospendere o arrestare servizi dalla finestra del prompt dei comandi
Per sospendere o arrestare servizi, modificare i comandi nei modi seguenti.
- Per sospendere un servizio, sostituire
net start
connet pause
. - Per arrestare un servizio, sostituire
net start
connet stop
.
Transact-SQL
È possibile arrestare il motore di database tramite l'istruzione SHUTDOWN
.
Per arrestare il motore di database usando Transact-SQL
Per attendere il completamento delle stored procedure e delle istruzioni Transact-SQL attualmente in esecuzione e quindi arrestare il motore di database, eseguire l'istruzione seguente.
SHUTDOWN;
Per arrestare immediatamente il motore di database, eseguire l'istruzione seguente.
SHUTDOWN WITH NOWAIT;
Per altre informazioni sull'istruzione SHUTDOWN
, vedere SHUTDOWN.
PowerShell
È possibile gestire i servizi di motore di database di SQL Server tramite PowerShell.
Avviare e arrestare i servizi del motore di database
Al prompt dei comandi di SQL Server PowerShell, eseguire il comando seguente. Sostituire
computername
con il nome del computer.# Get a reference to the ManagedComputer class. CD SQLSERVER:\SQL\computername $Wmi = (get-item .).ManagedComputer
Identificare il servizio che si desidera arrestare o avviare. Selezionare una delle righe seguenti. Sostituire
instancename
con il nome dell'istanza denominata.Per ottenere un riferimento all'istanza predefinita del motore di database.
$DfltInstance = $Wmi.Services['MSSQLSERVER']
Per ottenere un riferimento a un'istanza denominata del motore di database.
$DfltInstance = $Wmi.Services['MSSQL$instancename']
Per ottenere un riferimento al servizio SQL Server Agent nell'istanza predefinita del motore di database.
$DfltInstance = $Wmi.Services['SQLSERVERAGENT']
Per ottenere un riferimento al servizio SQL Server Agent in un'istanza denominata del motore di database.
$DfltInstance = $Wmi.Services['SQLAGENT$instancename']
Per ottenere un riferimento al servizio SQL Server Browser.
$DfltInstance = $Wmi.Services['SQLBROWSER']
Completare l'esempio per avviare e quindi arrestare il servizio selezionato.
# Display the state of the service. $DfltInstance # Start the service. $DfltInstance.Start(); # Wait until the service has time to start. # Refresh the cache. $DfltInstance.Refresh(); # Display the state of the service. $DfltInstance # Stop the service. $DfltInstance.Stop(); # Wait until the service has time to stop. # Refresh the cache. $DfltInstance.Refresh(); # Display the state of the service. $DfltInstance
Controllare e abilitare le istanze disabilitate
Per determinare se un'istanza del servizio SQL Server è disabilitata, seguire la seguente procedura:
Identificare il servizio che si sta provando a controllare usando le informazioni nella sezione Avvio, arresto, sospensione, ripresa e riavvio dei servizi SQL Server.
In Gestione configurazione SQL Server selezionare Servizi SQL Server e quindi individuare il servizio a cui si è interessati.
Se il valore della colonna Modalità di avvio è impostato su Altro (avvio, sistema, disabilitato o sconosciuto), significa in genere che il servizio corrispondente è disabilitato. Per abilitare il servizio nel server, eseguire la procedura seguente:
Nella colonna Nome fare clic con il pulsante destro del mouse sul servizio corrispondente e quindi passare alla scheda Servizio nella finestra<Nome del servizio> Proprietà.
Esaminare il valore nella colonna Modalità di avvio e verificare che sia impostato su Disabilitato.
Modificare il valore in Manuale o Automatico in base ai requisiti. Per altre informazioni, vedere Configurare le opzioni di avvio del server (Gestione configurazione SQL Server).
Classe ServiceController
È possibile usare la classe ServiceController
per controllare a livello di codice il servizio SQL Server o qualsiasi altro servizio di Windows. Per un esempio dell'uso di C#, vedere Classe ServiceController.
Risolvere i problemi di avvio del servizio
Se i servizi di SQL Server non si avviano, potrebbero esserci problemi di configurazione. È possibile esaminare i log specifici del servizio per identificare il problema e risolverlo. I passaggi dettagliati per la risoluzione di problemi più generali e più specifici sono disponibili negli articoli seguenti:
- Errori di avvio di SQL Server in un server autonomo
- Il servizio SQL Server e il servizio SQL Server Agent non vengono avviati in un server autonomo
- SQL Server Agent si arresta in modo anomalo quando si tenta di avviarlo