Condividi tramite


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

  1. Avviare Gestione configurazione SQL Server seguendo le istruzioni riportate nella sezione precedente.

  2. Se viene visualizzata la finestra di dialogo Controllo account utente selezionare .

  3. Nel riquadro sinistro di Gestione configurazione SQL Server selezionare Servizi di SQL Server.

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

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

  1. Avviare Gestione configurazione SQL Server seguendo le istruzioni riportate nella sezione precedente.

  2. Se viene visualizzata la finestra di dialogo Controllo account utente selezionare .

  3. Nel riquadro sinistro di Gestione configurazione SQL Server selezionare Servizi di SQL Server.

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

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

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

  2. Se viene visualizzata la finestra di dialogo Controllo account utente selezionare .

  3. Quando viene richiesto se si vuole intervenire, selezionare .

Avviare, arrestare o riavviare un'istanza di SQL Server Agent

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

  2. Se viene visualizzata la finestra di dialogo Controllo account utente selezionare .

  3. Quando viene richiesto se si vuole intervenire, selezionare .

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 con net pause.
  • Per arrestare un servizio, sostituire net start con net 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

  1. 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
    
  2. 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']
      
  3. 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:

  1. Identificare il servizio che si sta provando a controllare usando le informazioni nella sezione Avvio, arresto, sospensione, ripresa e riavvio dei servizi SQL Server.

  2. In Gestione configurazione SQL Server selezionare Servizi SQL Server e quindi individuare il servizio a cui si è interessati.

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

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

    2. Esaminare il valore nella colonna Modalità di avvio e verificare che sia impostato su Disabilitato.

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