Dies ist alles ausführlich auf dieser Seite.
In Anbetracht der Tatsache, dass Ihre Frage speziell lautet "Gibt es von Microsoft empfohlene ", bin ich der Ansicht, dass dies kontraproduktiv ist, um diese Diskussion hier zu führen. Der Artikel beschreibt deren Details den Ablauf durch
- Verwenden Sie entweder
- Befehlszeile
- Power Shell,
- SQL Server Management Studio (GUI)
- Für 2008, 2012, 2014, 2016.
- Für die entweder
- Datenbankmodul
- oder Agent
Ob diese Schritte zufriedenstellend sind oder nicht, wäre meiner Meinung nach nicht wünschenswert. Die richtige Antwort ist dort also immer auf dem neuesten Stand.
Beenden des Dienstes vor dem Ausschalten
Ist dies erforderlich oder wird dies empfohlen, bevor ein Server heruntergefahren wird, auf dem gerade SQL-Dienste ausgeführt werden?
Nein, es ist nicht notwendig. Wenn der Windows-Kernel das Signal zum Herunterfahren an SQL Server sendet, geschieht dies auf sichere Weise, und das System wartet, bis der Vorgang abgeschlossen ist. Allgemein gesagt, muss alles, was mit der Fähigkeit zum sicheren Herunterfahren ausgestattet ist, nicht manuell heruntergefahren werden, und es liegt auf der Hand, dass alle Microsoft-Anwendungen ihre eigene API und Prozeduren befolgen , die in die PRESHUTDOWN
oder SHUTDOWN
Phasen eingebunden sind. Ab den Dokumenten PRESHUTDOWN
, von denen ich annehme , dass sie verwendet werden,
Benachrichtigt einen Dienst, dass das System heruntergefahren wird. Dienste, die zusätzliche Zeit benötigen, um Bereinigungsaufgaben über die enge Zeitbeschränkung beim Herunterfahren des Systems hinaus auszuführen, können diese Benachrichtigung verwenden. Der Dienststeuerungs-Manager sendet diese Benachrichtigung an Anwendungen, die sich dafür registriert haben, bevor er eine SERVICE_CONTROL_SHUTDOWN
Benachrichtigung an Anwendungen sendet , die sich für diese Benachrichtigung registriert haben.
Ein Dienst, der diese Benachrichtigung verarbeitet, blockiert das Herunterfahren des Systems, bis der Dienst beendet wird oder das durch angegebene Zeitlimit für das Herunterfahren SERVICE_PRESHUTDOWN_INFO
abgelaufen ist. Da dies die Benutzererfahrung beeinträchtigt, sollten Dienste diese Funktion nur verwenden, wenn es unbedingt erforderlich ist, Datenverlust oder erhebliche Wiederherstellungszeiten beim nächsten Systemstart zu vermeiden.
Je nach Bedarf gehe ich davon aus, dass SQL Server so funktioniert.