Starten, Beenden, Anhalten, Fortsetzen und Neustarten von SQL Server-Diensten
Gilt für: SQL Server - nur Windows
In diesem Artikel wird beschrieben, wie Sie unter Windows die SQL Server-Datenbank-Engine, den SQL Server-Agent oder den SQL Server-Browser-Dienst mithilfe des SQL Server-Konfigurations-Managers, mit SQL Server Management Studio (SSMS), mit net-Befehlen über eine Eingabeaufforderung, mithilfe von Transact-SQL oder mit PowerShell starten, beenden, anhalten, fortsetzen und neu starteen.
Entsprechende Informationen für SQL Server für Linux finden Sie unter Starten, Beenden und Neustarten von SQL Server-Diensten unter Linux.
Informationen zum Dienst
SQL Server-Komponenten sind ausführbare Programme, die als Windows-Dienste ausgeführt werden. Windows-Dienste können ohne Anzeige von Aktivitäten auf dem Computerbildschirm und ohne Benutzerinteraktion in der Befehlszeile ausgeführt werden.
Dienst | Beschreibung |
---|---|
Datenbank-Engine-Dienst | Bei der Datenbank-Engine-Dienst kann es sich um die Standardinstanz (max. eine pro Computer) oder eine von vielen benannten Instanzen auf dem Computer handeln. Verwenden Sie den SQL Server-Konfigurations-Manager, um zu ermitteln, welche Instanzen der Datenbank-Engine auf dem Computer installiert sind. Die Standardinstanz wird im Fall der Installation als SQL Server (MSSQLSERVER) aufgeführt. Benannte Instanzen (sofern installiert) werden als SQL Server (<Instanzname>) aufgelistet. Standardmäßig wird SQL Server Express als SQL Server (SQLEXPRESS) installiert. |
SQL-Server-Agent-Dienst | Der SQL Server-Agent-Dienst führt geplante administrative Tasks aus, die als Aufträge und Warnungen bezeichnet werden. Weitere Informationen finden Sie unter SQL Server Agent. Der SQL Server-Agent ist nicht in jeder Edition von SQL Server verfügbar. Eine Liste der Funktionen, die von den SQL Server-Editionen unterstützt werden, finden Sie unter Editionen und unterstützte Funktionen von SQL Server 2022. |
SQL Server-Browserdienst | Der SQL Server-Browser-Dienst lauscht auf eingehende Anforderungen für SQL Server-Ressourcen und stellt Clients Informationen zu den auf dem Computer installierten SQL Server-Instanzen bereit. Eine einzelne Instanz des SQL Server-Browserdiensts wird für alle auf dem Computer installierten SQL Server-Instanzen verwendet. |
Wenn Sie den Datenbank-Engine-Dienst anhalten, können Benutzer, die bereits verbunden sind, weiterhin arbeiten, bis ihre Verbindungen unterbrochen werden. Neue Benutzer können jedoch keine Verbindung mit der Datenbank-Engine herstellen. Verwenden Sie Anhalten, wenn Sie warten möchten, bis Benutzer ihre Arbeit abgeschlossen haben, bevor Sie den Dienst beenden, sodass sie gerade ausgeführte Transaktionen abschließen können. Mit der Funktion zum Fortsetzen kann die Datenbank-Engine neue Verbindungen wieder zulassen. Der SQL Server-Agent-Dienst kann nicht angehalten oder fortgesetzt werden.
Der SQL Server-Konfigurations-Manager und SSMS zeigen den aktuellen Dienststatus an. Dazu werden folgende Symbole verwendet.
SQL Server-Konfigurations-Manager | SQL Server Management Studio (SSMS) | |
---|---|---|
Started | Ein grüner Pfeil in dem Symbol neben dem Dienstnamen | Ein weißer Pfeil in dem Symbol neben dem Dienstnamen |
Beendet | Ein rotes Quadrat in dem Symbol neben dem Dienstnamen | Ein weißes Quadrat in einem roten Kreissymbol neben dem Dienstnamen |
Angehalten | Zwei vertikale blaue Linien im Symbol neben dem Dienstnamen | Zwei vertikale weiße Linien in einem blauen Kreissymbol neben dem Dienstnamen |
Neustarten | Ein rotes Quadrat weist darauf hin, dass der Dienst beendet wurde. Ein grüner Pfeil gibt daraufhin an, dass der Dienst erfolgreich gestartet wurde. | Keine |
Sie haben je nach Status des Diensts keinen Zugriff auf alle möglichen Optionen, wenn Sie SQL Server-Konfigurations-Manager oder SSMS verwenden. Wurde der Dienst beispielsweise bereits gestartet, ist die Option Start nicht verfügbar.
Im Fall der Ausführung auf einem Cluster lässt sich der SQL Server-Datenbank-Engine-Dienst am besten mittels Clusterverwaltung verwalten.
Berechtigungen
Standardmäßig können nur Mitglieder der lokalen Administratorgruppe einen Dienst starten, beenden, anhalten, fortsetzen oder neu starten. Informationen dazu, wie Sie es Nichtadministratoren ermöglichen, Dienste zu verwalten, finden Sie unter How to grant users rights to manage services (So erteilen Sie Benutzern die Berechtigung zum Verwalten von Diensten). (Dieser Vorgang ist bei anderen Versionen von Windows Server ähnlich.)
Das Beenden der Datenbank-Engine unter Verwendung des Transact-SQL-SHUTDOWN
-Befehls erfordert die Mitgliedschaft in den festen Serverrollen sysadmin oder serveradmin. Diese Mitgliedschaft ist nicht übertragbar.
SQL Server-Konfigurations-Manager
Der SQL Server-Konfigurations-Manager ein Snap-In für das Microsoft Management Console-Programm und wird in neueren Versionen von Windows möglicherweise nicht als Anwendung angezeigt. Weitere Informationen finden Sie unter SQL Server Configuration Manager.
Starten des SQL Server-Konfigurations-Managers
Wählen Sie im Menü Start die Option Alle Programme > Microsoft SQL Server > Konfigurationstools > SQL Server-Konfigurations-Manager aus.
Starten, Beenden, Anhalten, Fortsetzen und Neustarten einer Instanz der SQL Server-Datenbank-Engine
Starten Sie SQL Server-Konfigurations-Manager mithilfe der Anweisungen aus dem vorherigen Abschnitt.
Wenn das Dialogfeld Benutzerkontensteuerung angezeigt wird, wählen Sie Ja aus.
Wählen Sie im linken Bereich des SQL Server-Konfigurations-Managers SQL Server-Dienste aus.
Klicken Sie im Ergebnisbereich mit der rechten Maustaste auf SQL Server (MSSQLServer) oder auf eine benannte Instanz, und wählen Sie anschließend Starten, Beenden, Anhalten, Fortsetzen oder Neu starten aus.
Wählen Sie OK aus, um den SQL Server-Konfigurations-Manager zu schließen.
Weitere Informationen zum Starten einer Instanz der Datenbank-Engine mit Startoptionen finden Sie unter SQL Server-Konfigurations-Manager: Konfigurieren der Serverstartoptionen.
Wichtig
Wenn Sie ab SQL Server 2022 (16.x) den Startmodus für einen SQL Server-Dienst im Konfigurations-Manager auf Automatisch festlegen, wird der Dienst stattdessen im Modus Automatisch (verzögerter Start) gestartet, obwohl der Startmodus als Automatisch angezeigt wird.
Starten, Beenden, Anhalten, Fortsetzen oder Neustarten des SQL Server-Browsers oder einer Instanz des SQL Server-Agents
Starten Sie SQL Server-Konfigurations-Manager mithilfe der Anweisungen aus dem vorherigen Abschnitt.
Wenn das Dialogfeld Benutzerkontensteuerung angezeigt wird, wählen Sie Ja aus.
Wählen Sie im linken Bereich des SQL Server-Konfigurations-Managers SQL Server-Dienste aus.
Klicken Sie im Ergebnisbereich mit der rechten Maustaste auf SQL Server-Browser oder SQL Server-Agent (MSSQLServer) oder für eine benannte Instanz auf SQL Server-Agent (<InstanzName>), und wählen Sie dann Starten, Beenden, Anhalten, Fortsetzen oder Neu starten aus.
Wählen Sie OK aus, um den SQL Server-Konfigurations-Manager zu schließen.
Hinweis
Der SQL Server-Agent kann nicht angehalten werden.
SQL Server Management Studio
Verwenden Sie SQL Server Management Studio zum Verwalten der SQL Server-Datenbank-Engine-Dienste.
Starten, Beenden, Anhalten, Fortsetzen und Neustarten einer Instanz der Datenbank-Engine
Stellen Sie im Objekt-Explorer eine Verbindung mit der Datenbank-Engine-Instanz her, klicken Sie mit der rechten Maustaste auf die zu startende Datenbank-Engine-Instanz, und wählen Sie dann Starten, Beenden, Anhalten, Fortsetzen oder Neu starten aus.
Klicken Sie alternativ im Bereich „Registrierte Server“ mit der rechten Maustaste auf die zu startende Datenbank-Engine-Instanz, zeigen Sie auf die Option Dienstkontrolle, und wählen Sie dann Starten, Beenden, Anhalten, Fortsetzen oder Neu starten aus.
Wenn das Dialogfeld Benutzerkontensteuerung angezeigt wird, wählen Sie Ja aus.
Wenn Sie gefragt werden, ob Sie eine Aktion ausführen möchten, wählen Sie Ja aus.
Starten, Beenden oder Neustarten einer SQL Server-Agent-Instanz
Stellen Sie im Objekt-Explorer eine Verbindung mit der Datenbank-Engine-Instanz her, klicken Sie mit der rechten Maustaste auf SQL Server-Agent, und wählen Sie dann Starten, Beenden oder Neu starten aus.
Wenn das Dialogfeld Benutzerkontensteuerung angezeigt wird, wählen Sie Ja aus.
Wenn Sie gefragt werden, ob Sie eine Aktion ausführen möchten, wählen Sie Ja aus.
Eingabeaufforderungsfenster und Verwenden von net-Befehlen
Die SQL Server-Dienste können mithilfe von net-Befehlen von Windows gestartet, beendet oder angehalten werden.
Starten der Standardinstanz der Datenbank-Engine
Geben Sie an einer Eingabeaufforderung einen der folgenden Befehle ein:
net start "SQL Server (MSSQLSERVER)"
Oder
net start MSSQLSERVER
Starten einer benannten Instanz der Datenbank-Engine
Geben Sie an einer Eingabeaufforderung einen der folgenden Befehle ein. Ersetzen Sie <Instanzname> durch den Namen der Instanz, die Sie verwalten möchten.
net start "SQL Server (instancename)"
Oder
net start MSSQL$instancename
Starten der Datenbank-Engine mit Startoptionen
Fügen Sie Startoptionen am Ende der net start "SQL Server (MSSQLSERVER)"
-Anweisung (getrennt durch ein Leerzeichen) hinzu. Beim Starten mithilfe von net start
wird ein Schrägstrich (/) anstelle eines Bindestrichs (-) für die Startoptionen verwendet.
net start "SQL Server (MSSQLSERVER)" /f /m
Oder
net start MSSQLSERVER /f /m
Hinweis
Weitere Informationen zu den Startoptionen finden Sie unter Startoptionen für den Datenbank-Engine-Dienst.
Starten des SQL Server-Agents auf der Standardinstanz von SQL Server
Geben Sie an einer Eingabeaufforderung einen der folgenden Befehle ein:
net start "SQL Server Agent (MSSQLSERVER)"
Oder
net start SQLSERVERAGENT
Starten des SQL Server-Agents auf einer benannten Instanz von SQL Server
Geben Sie an einer Eingabeaufforderung einen der folgenden Befehle ein. Ersetzen Sie Instanzname durch den Namen der Instanz, die Sie verwalten möchten.
net start "SQL Server Agent (instancename)"
Oder
net start SQLAgent$instancename
Informationen zum Ausführen des SQL Server-Agents im ausführlichen Modus zur Problembehandlung finden Sie unter sqlagent90 (Anwendung).
Starten des SQL Server-Browsers
Geben Sie an einer Eingabeaufforderung einen der folgenden Befehle ein:
net start "SQL Server Browser"
Oder
net start SQLBrowser
Anhalten oder Beenden von Diensten über das Eingabeaufforderungsfenster
Ändern Sie zum Anhalten oder Beenden von Diensten die Befehle wie folgt.
- Um einen Dienst anzuhalten, ersetzen Sie
net start
durchnet pause
. - Um einen Dienst zu beenden, ersetzen Sie
net start
durchnet stop
.
Transact-SQL
Die Datenbank-Engine lässt sich mit der SHUTDOWN
-Anweisung beenden.
Beenden der Datenbank-Engine mithilfe von Transact-SQL
Führen Sie die folgende Anweisung aus, um die Datenbank-Engine nach der vollständigen Ausführung der Transact-SQL-Anweisungen und gespeicherten Prozeduren zu beenden.
SHUTDOWN;
Führen Sie die folgende Anweisung aus, um die Datenbank-Engine sofort zu beenden.
SHUTDOWN WITH NOWAIT;
Weitere Informationen zur SHUTDOWN
-Anweisung finden Sie unter SHUTDOWN.
PowerShell
Sie können die SQL Server-Datenbank-Engine-Dienste mithilfe von PowerShell verwalten.
Starten und Beenden von Datenbank-Engine-Diensten
Führen Sie an einer SQL Server PowerShell-Eingabeaufforderung den folgenden Befehl aus. Ersetzen Sie
computername
durch den Namen des Computers.# Get a reference to the ManagedComputer class. CD SQLSERVER:\SQL\computername $Wmi = (get-item .).ManagedComputer
Identifizieren Sie den Dienst, den Sie beenden oder starten möchten. Wählen Sie eine der folgenden Zeilen aus. Ersetzen Sie
instancename
durch den Namen der benannten Instanz.Abrufen eines Verweises auf die Standardinstanz der Datenbank-Engine
$DfltInstance = $Wmi.Services['MSSQLSERVER']
Abrufen eines Verweises auf die benannte Instanz der Datenbank-Engine
$DfltInstance = $Wmi.Services['MSSQL$instancename']
Abrufen eines Verweises auf den SQL Server-Agent-Dienst auf der Standardinstanz der Datenbank-Engine
$DfltInstance = $Wmi.Services['SQLSERVERAGENT']
Abrufen eines Verweises auf den SQL Server-Agent-Dienst auf einer benannten Instanz der Datenbank-Engine
$DfltInstance = $Wmi.Services['SQLAGENT$instancename']
Abrufen eines Verweises auf den SQL Server-Browserdienst
$DfltInstance = $Wmi.Services['SQLBROWSER']
Starten Sie anhand des Beispiels den ausgewählten Dienst, und beenden Sie ihn anschließend.
# 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
Überprüfen und Aktivieren deaktivierter Instanzen
Mithilfe der folgenden Schritte können Sie ermitteln, ob eine SQL Server-Dienstinstanz deaktiviert ist:
Bestimmen Sie den zu überprüfenden Dienst anhand der Informationen aus dem Abschnitt Starten, Beenden, Anhalten, Fortsetzen und Neustarten von SQL Server-Diensten.
Wählen Sie in SQL Server-Konfigurations-Manager die Option SQL Server-Dienste aus, und suchen Sie den gewünschten Dienst.
Wenn der Wert der Spalte Startmodus auf Andere (Boot, System, deaktiviert oder unbekannt). festgelegt ist, bedeutet das in der Regel, dass der entsprechende Dienst deaktiviert ist. Befolgen Sie diese Schritte, um den Dienst zu aktivieren:
Klicken Sie in der Spalte „Name“ mit der rechten Maustaste auf den entsprechenden Dienst, und wechseln Sie dann im Fenster <Dienstname> Eigenschaften zur Registerkarte Dienst.
Überprüfen Sie den Wert in der Spalte Startmodus, und vergewissern Sie sich, dass er auf Deaktiviert festgelegt ist.
Ändern Sie den Wert je nach Anforderungen entweder in Manuell oder Automatisch. Weitere Informationen finden Sie unter SQL Server-Konfigurations-Manager: Konfigurieren von Serverstartoptionen.
Verwenden der ServiceController-Klasse
Sie können die ServiceController
-Klasse zur Programmsteuerung des SQL Server-Diensts oder eines anderen Windows-Diensts verwenden. Ein Beispiel für die Verwendung von C# finden Sie unter ServiceController-Klasse.
Behandeln von Problemen beim Starten des Diensts
Wenn Sie versuchen, SQL Server-Dienste zu starten, werden diese möglicherweise nicht gestartet, wenn ein Konfigurationsproblem vorliegt. Sie können die dienstspezifischen Protokolle überprüfen, um das Problem zu identifizieren und zu beheben. Ausführliche Schritte zur Problembehandlung und Lösungen für bestimmte Probleme finden Sie in den folgenden Artikeln:
- SQL Server-Startfehler auf einem eigenständigen Server
- Der SQL Server- und der SQL Server-Agent-Dienst können nicht auf einem eigenständigen Server gestartet werden
- SQL Server-Agent stürzt beim Startversuch ab