|
Erweiterte gespeicherte Prozeduren
Kontrollieren der Dienste auf dem SQL Server
Die erweiterte gespeicherte Prozeder xp_servicecontrol ermöglicht das Starten und Stoppen von Diensten auf dem SQL Server. Diese Prozedur kann außerdem verwendet werden,
um den Status von Diensten abzufragen und Dienste zu unterbrechen (Pause) und wieder zu aktivieren.
Diese Prozedur ist nicht dokumentiert. Durch das Stoppen von Diensten kann der Server lahmgelegt werden.
Testen Sie alle Aufrufe in jedem Fall zunächst auf
einem Testsystem.
Auf dieser Seite finden Sie Informationen zur Lösung der folgenden Aufgaben:
Allgemeine Syntax von xp_servicecontrol
EXEC master.dbo.xp_servicecontrol anforderung, dienstname
Ergebnis:
Einspaltiges Resultset mit dem Ergebnis der Aktion.
Abfragen des Status eines Dienstes
Um den Status eines Dienstes zu prüfen, wird als erster Parameter (anforderung) der Wert querystate angegeben.
Beispiel: Abfragen des Status des Zeitplandienstes (Schedule)
EXEC master..xp_servicecontrol 'querystate', 'schedule' /* Beispiel für mögliche Ausgabe: Current Service State ---------------------- Running. */
Stoppen eines Dienstes
Um einen Dienst zu stoppen wird als erster Parameter (anforderung) der Wert stop angegeben.
Übrigens: Der SQL Server Dienst kann über die Transact SQL Anweisung SHUTDOWN beendet werden.
Beispiel: Stoppen des Zeitplandienstes (Schedule)
EXEC master..xp_servicecontrol 'stop', 'schedule' /* Beispiel für mögliche Ausgabe: Meldung 22003, Ebene 1, Status 22003 Service Stopped. */
Starten eines Dienstes
Um einen Dienst zu starten wird als erster Parameter (anforderung) der Wert start angegeben.
Beispiel: Starten des Zeitplandienstes (Schedule)
EXEC master..xp_servicecontrol 'start', 'schedule' /* Beispiel für mögliche Ausgabe: Meldung 22003, Ebene 1, Status 22003 Dienst gestartet. */
Unterbrechen eines Dienstes
Um die Ausführung eines Dienstes zu unterbrechen wird als erster Parameter (anforderung) der Wert pause angegeben.
Beachten Sie, dass nicht alle Dienste diesen Befehl unterstützen.
Beispiel: Unterbrechen des Zeitplandienstes (Schedule)
EXEC master..xp_servicecontrol 'pause', 'schedule' /* Beispiel für mögliche Ausgabe: Meldung 22003, Ebene 1, Status 22003 Service Paused. */
Neustarten eines angehaltenen Dienstes
Um die Ausführung eines angehaltenen (unterbrochenen) Dienstes wieder zu starten wird als erster Parameter (anforderung) der Wert continue angegeben.
Beispiel: Erneutes Starten des unterbrochenenen Zeitplandienstes (Schedule)
EXEC master..xp_servicecontrol 'continue', 'schedule' /* Beispiel für mögliche Ausgabe: Meldung 22003, Ebene 1, Status 22003 Service Continued. */
|