Dela via


Starta, stoppa, pausa, återuppta och starta om SQL Server-tjänster

gäller för:SQL Server – endast Windows

Den här artikeln beskriver hur du startar, stoppar, pausar, återupptar eller startar om SQL Server Database Engine, SQL Server Agent eller SQL Server Browser-tjänsten i Windows med hjälp av SQL Server Configuration Manager, SQL Server Management Studio (SSMS), net-kommandon från en kommandotolk, Transact-SQL eller PowerShell.

Information om SQL Server i Linux finns i Starta, stoppa och starta om SQL Server-tjänster i Linux.

Identifiera tjänsten

SQL Server-komponenter är körbara program som körs som Windows-tjänster. Windows-tjänster kan köras utan att visa någon aktivitet på datorskärmen och utan användarinteraktion på kommandoraden.

Tjänster Beskrivning
Databasmotortjänst Database Engine-tjänsten kan vara standardinstansen (begränsa en per dator) eller vara en av många namngivna instanser på datorn. Använd SQL Server Configuration Manager för att ta reda på vilka instanser av databasmotorn som är installerade på datorn. Standardinstansen (om du installerar den) visas som SQL Server (MSSQLSERVER). Namngivna instanser (om du installerar dem) visas som SQL Server (<instance_name>). Som standard installeras SQL Server Express som SQL Server (SQLEXPRESS).
SQL Server Agent-tjänsten SQL Server Agent-tjänsten kör schemalagda administrativa uppgifter som kallas jobb och aviseringar. Mer information finns i SQL Server Agent. SQL Server-agenten är inte tillgänglig i varje utgåva av SQL Server. En lista över funktioner som stöds av versionerna av SQL Server finns i Utgåvor och funktioner som stöds i SQL Server 2022.
SQL Server Browser-tjänsten SQL Server Browser-tjänsten lyssnar efter inkommande begäranden för SQL Server-resurser och ger klienter information om SQL Server-instanser som är installerade på datorn. En enda instans av SQL Server Browser-tjänsten används av alla instanser av SQL Server som är installerade på datorn.

Om du pausar database engine-tjänsten kan användare som redan är anslutna fortsätta att fungera tills deras anslutningar har brutits, men nya användare kan inte ansluta till databasmotorn. Använd Pausa när du vill vänta tills användarna slutför sitt arbete innan du stoppar tjänsten, vilket gör att de kan slutföra transaktioner som pågår. Med Resume kan databasmotorn acceptera nya anslutningar igen. SQL Server Agent-tjänsten kan inte pausas eller återupptas.

SQL Server Configuration Manager och SSMS visar den aktuella statusen för tjänster med hjälp av följande ikoner.

SQL Server-konfigurationshanterare SQL Server Management Studio (SSMS)
Igång En grön pil på ikonen bredvid tjänstnamnet En vit pil på en grön cirkelikon bredvid tjänstnamnet
har stoppats En röd fyrkant på ikonen bredvid tjänstnamnet En vit fyrkant på en röd cirkelikon bredvid tjänstnamnet
pausad Två lodräta blå linjer på ikonen bredvid tjänstnamnet Två lodräta vita linjer på en blå cirkelikon bredvid tjänstnamnet
starta om En röd fyrkant anger att tjänsten har stoppats och sedan anger en grön pil att tjänsten har startats Ingen

Du har inte åtkomst till alla möjliga alternativ när du använder SQL Server Configuration Manager eller SSMS, beroende på tjänstens tillstånd. Om tjänsten till exempel redan har startats är Start inte tillgängligt.

När du kör på ett kluster hanteras TJÄNSTEN SQL Server Database Engine bäst med hjälp av klusteradministratör.

Behörigheter

Som standard kan endast medlemmar i den lokala administratörsgruppen starta, stoppa, pausa, återuppta eller starta om en tjänst. Information om hur du ger icke-administratörer möjlighet att hantera tjänster finns i Så här beviljar du användarna behörighet att hantera tjänster. (Processen liknar andra versioner av Windows Server.)

För att stoppa databasmotorn med hjälp av kommandot Transact-SQL SHUTDOWN krävs medlemskap i de fasta serverrollerna sysadmin eller serveradmin och kan inte överföras.

SQL Server-konfigurationshanterare

SQL Server Configuration Manager är en snapin-modul för Microsoft Management Console-programmet och det kanske inte visas som ett program i vissa versioner av Windows. Mer information finns i SQL Server Configuration Manager.

Starta SQL Server Configuration Manager

Start-menyn väljer du Alla program > Microsoft SQL Server > Configuration Tools > SQL Server Configuration Manager.

Starta, stoppa, pausa, återuppta eller starta om en instans av SQL Server Database Engine

  1. Starta SQL Server Configuration Manager med hjälp av anvisningarna i föregående avsnitt.

  2. Om dialogrutan Kontroll av användarkonto visas väljer du Ja.

  3. I SQL Server Configuration Manager väljer du SQL Server Servicesi den vänstra rutan.

  4. Högerklicka på SQL Server (MSSQLServer) eller en namngiven instans i resultatfönstret och välj sedan Starta, Stoppa, Pausa, Återuppta eller Starta om.

  5. Välj OK för att stänga SQL Server Configuration Manager.

Information om hur du startar en instans av databasmotorn med startalternativ finns i KONFIGURATIONshanteraren för SQL Server: Konfigurera startalternativ för servern.

Viktigt!

Från och med SQL Server 2022 (16.x) startar tjänsten automatiskt i läget Automatisk (fördröjd start) när du ställer in startläget för en SQL Server-tjänst på Automatisk i Configuration Manager, även om startläget visas som Automatiskt.

Starta, stoppa, pausa, återuppta eller starta om SQL Server-webbläsaren eller en instans av SQL Server-agenten

  1. Starta SQL Server Configuration Manager med hjälp av anvisningarna i föregående avsnitt.

  2. Om dialogrutan Kontroll av användarkonto visas väljer du Ja.

  3. I SQL Server Configuration Manager väljer du SQL Server Servicesi den vänstra rutan.

  4. I resultatfönstret högerklickar du på SQL Server Browser eller SQL Server Agent (MSSQLServer) eller SQL Server Agent (<instance_name>) för en namngiven instans och väljer sedan Starta, Stoppa, Pausa, Återuppta eller Starta om.

  5. Välj OK för att stänga SQL Server Configuration Manager.

Anmärkning

SQL Server-agenten kan inte pausas.

SQL Server Management Studio

Använd SQL Server Management Studio för att hantera SQL Server Database Engine-tjänsterna.

Starta, stoppa, pausa, återuppta eller starta om en instans av databasmotorn

  1. I Object Explorer ansluter du till instansen av databasmotorn, högerklickar på den instans av databasmotorn som du vill starta och väljer sedan Starta, Stoppa, Pausa, Återuppta eller Starta om.

    I Registrerade servrar högerklickar du på den instans av databasmotorn som du vill starta, pekar på Tjänstkontroll och väljer sedan Starta, Stoppa, Pausa, Återuppta eller Starta om.

  2. Om dialogrutan Kontroll av användarkonto visas väljer du Ja.

  3. När du uppmanas att agera väljer du Ja.

Starta, stoppa eller starta om en instans av SQL Server-agenten

  1. I Object Explorer ansluter du till instansen av databasmotorn, högerklickar på SQL Server-agenten och väljer sedan Starta, Stoppa eller Starta om.

  2. Om dialogrutan Kontroll av användarkonto visas väljer du Ja.

  3. När du uppmanas att agera väljer du Ja.

Kommandotolkens fönster med net-kommandon

SQL Server-tjänsterna kan startas, stoppas eller pausas med hjälp av Windows net-kommandon .

Starta standardinstansen av databasmotorn

Från en kommandotolk anger du något av följande kommandon:

net start "SQL Server (MSSQLSERVER)"

-eller-

net start MSSQLSERVER

Starta en namngiven instans av databasmotorn

Från en kommandorad anger du något av följande kommandon. Ersätt <instancename> med namnet på den instans som du vill hantera.

net start "SQL Server (instancename)"

-eller-

net start MSSQL$instancename

Starta databasmotorn med startalternativ

Lägg till startalternativ i slutet av instruktionen net start "SQL Server (MSSQLSERVER)", avgränsade med ett blanksteg. När du börjar använda net startanvänder startalternativen ett snedstreck (/) i stället för ett bindestreck (-).

net start "SQL Server (MSSQLSERVER)" /f /m

-eller-

net start MSSQLSERVER /f /m

Anmärkning

Mer information om startalternativ finns i Startalternativ för Database Engine Service.

Starta SQL Server-agenten på standardinstansen av SQL Server

Från en kommandotolk anger du något av följande kommandon:

net start "SQL Server Agent (MSSQLSERVER)"

-eller-

net start SQLSERVERAGENT

Starta SQL Server-agenten på en namngiven instans av SQL Server

Från en kommandorad anger du något av följande kommandon. Ersätt instancename med namnet på den instans som du vill hantera.

net start "SQL Server Agent (instancename)"

-eller-

net start SQLAgent$instancename

Information om hur du kör SQL Server Agent i utförligt läge för felsökning finns i sqlagent-programmet.

Starta SQL Server-webbläsaren

Från en kommandotolk anger du något av följande kommandon:

net start "SQL Server Browser"

-eller-

net start SQLBrowser

Pausa eller stoppa tjänster från kommandotolkens fönster

Om du vill pausa eller stoppa tjänster ändrar du kommandona på följande sätt.

  • Om du vill pausa en tjänst ersätter du net start med net pause.
  • Om du vill stoppa en tjänst ersätter du net start med net stop.

Transact-SQL

Databasmotorn kan stoppas med hjälp av -instruktionen SHUTDOWN .

Stoppa databasmotorn med hjälp av Transact-SQL

  • För att vänta på att pågående Transact-SQL-satser och lagrade procedurer ska slutföras och sedan stoppa databasmotorn, kör följande sats.

    SHUTDOWN;
    
  • Om du vill stoppa databasmotorn omedelbart kör du följande instruktion.

    SHUTDOWN WITH NOWAIT;
    

För mer information om SHUTDOWN-instruktionen, se AVSTÄNGNING.

PowerShell

Du kan hantera SQL Server Database Engine-tjänsterna med hjälp av PowerShell.

Starta och stoppa databasmotortjänster

  1. I en SQL Server PowerShell-kommandotolk kör du följande kommando. Ersätt computername med namnet på datorn.

    # Get a reference to the ManagedComputer class.
    CD SQLSERVER:\SQL\computername
    $Wmi = (get-item .).ManagedComputer
    
  2. Identifiera den tjänst som du vill stoppa eller starta. Välj en av följande rader. Ersätt instancename med namnet på den namngivna instansen.

    • Hämta en referens till standardinstansen av databasmotorn.

      $DfltInstance = $Wmi.Services['MSSQLSERVER']
      
    • För att få en referens till en namngiven instans av databasmotorn.

      $DfltInstance = $Wmi.Services['MSSQL$instancename']
      
    • Hämta en referens till SQL Server Agent-tjänsten på standardinstansen av databasmotorn.

      $DfltInstance = $Wmi.Services['SQLSERVERAGENT']
      
    • Hämta en referens till SQL Server Agent-tjänsten på en namngiven instans av databasmotorn.

      $DfltInstance = $Wmi.Services['SQLAGENT$instancename']
      
    • För att få en referens till tjänsten SQL Server Browser.

      $DfltInstance = $Wmi.Services['SQLBROWSER']
      
  3. Slutför exemplet för att starta och stoppa sedan den valda tjänsten.

    # 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
    

Kontrollera och aktivera inaktiverade instanser

Följ dessa steg för att avgöra om en SQL Server-tjänstinstans är inaktiverad:

  1. Identifiera den tjänst som du försöker kontrollera med hjälp av informationen i avsnittet Starta, stoppa, pausa, återuppta och starta om SQL Server-tjänster .

  2. I SQL Server Configuration Manager väljer du SQL Server Services och letar sedan reda på den tjänst som du är intresserad av.

  3. Om värdet för kolumnen Startläge är inställt på Annan (Start, System, Inaktiverad eller Okänd) innebär det vanligtvis att motsvarande tjänst är inaktiverad. Följ dessa steg för att aktivera tjänsten:

    1. I kolumnen Namn högerklickar du på motsvarande tjänst och växlar sedan till fliken Tjänst i fönstret Egenskaper för <tjänstnamn>.

    2. Granska värdet i kolumnen Startläge och kontrollera att det är inställt på Inaktiverad.

    3. Ändra värdet till antingen Manuell eller Automatisk enligt dina behov. Mer information finns i SQL Server Configuration Manager: Konfigurera startalternativ för servern.

Använda klassen ServiceController

Du kan använda ServiceController klassen för att programmatiskt styra SQL Server-tjänsten eller någon annan Windows-tjänst. Ett exempel med C#finns i ServiceController-klass.

Felsöka problem med tjänststart

När du försöker starta SQL Server-tjänster kanske de inte startar om det finns ett konfigurationsproblem. Du kan granska tjänstspecifika loggar för att identifiera problemet och lösa det. Detaljerade felsökningssteg och lösningar på specifika problem finns i följande artiklar: