Starten, Beenden, Anhalten, Fortsetzen und Neustarten von SQL Server-Diensten
Gilt für:SQL Server (alle unterstützten Versionen) – 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.
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 Version von SQL Server verfügbar. Eine Liste der Features, die von den SQL Server-Versionen unterstützt werden, finden Sie unter Versionen und unterstützte Features von SQL Server 2019 (15.x).
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.
Zusätzliche Informationen
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 in Windows Server 2003(So erteilen Sie Benutzern die Berechtigung zum Verwalten von Diensten in Windows Server 2003). (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
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.
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-Konfigurations-Manager.
Starten, Beenden, Anhalten, Fortsetzen und Neustarten einer Instanz der SQL Server-Datenbank-Engine
Starten Sie den SQL Server-Konfigurations-Manager mithilfe der oben genannten Anweisungen.
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.
Hinweis
Weitere Informationen zum Starten einer Instanz der Datenbank-Engine mit Startoptionen finden Sie unter SCM-Dienste: Konfigurieren der Serverstartoptionen.
Starten, Beenden, Anhalten, Fortsetzen oder Neustarten des SQL Server-Browsers oder einer Instanz des SQL Server-Agents
Starten Sie den SQL Server-Konfigurations-Manager mithilfe der oben genannten Anweisungen.
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
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 Anweisung net start "SQL Server (MSSQLSERVER)" hinzu (durch ein Leerzeichen getrennt). Beim Starten mithilfe von net startwird ein Schrägstrich (/) anstelle eines Bindestriches (-) für die Startoptionen verwendet.
net start "SQL Server (MSSQLSERVER)" /f /m
Oder
net start MSSQLSERVER /f /m
Hinweis
Weitere Informationen 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
So werden Dienste über das Eingabeaufforderungsfenster angehalten oder beendet
Ändern Sie zum Anhalten oder Beenden von Diensten die Befehle wie folgt.
Um einen Dienst anzuhalten, ersetzen Sie net start durch net pause.
Um einen Dienst zu beenden, ersetzen Sie net start durch net 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 (Transact-SQL).
PowerShell
Starten und Beenden von Datenbank-Engine-Diensten
Starten Sie in einem Eingabeaufforderungsfenster SQL Server PowerShell durch das Ausführen des folgenden Befehls.
sqlps
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
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.