Ich habe die Jobs meiner Farm in MSX zentralisiert und ungefähr 70 Instanzen von SQL Server abgedeckt. Scheinbar zufällig, mindestens einmal pro Woche, werden mehrere Instanzen keine Anweisungen mehr annehmen. Innerhalb des MSX-Fensters Verwalten von Zielservern werden anstelle aller Instanzen, die als Normal angezeigt werden , diese als Normal und Blockiert angezeigt . Ich habe nicht herausgefunden, warum dies passiert. Das Defektieren und erneute Eintragen heilt dieses Problem normalerweise, aber das bedeutet, dass Sie dieses Ziel in geeigneten Jobs erneut hinzufügen müssen, sodass ich die Ursache lieber beheben möchte, als die Problemumgehung zu ertragen.
Irgendein Rat? Ich möchte die SQL Server-Tools weiterhin für die Verwaltung mehrerer Server verwenden, bin aber offen für andere Möglichkeiten.
quelle
Antworten:
Bei Verwendung eines zentralisierten MSX (Multi-Server SQL Agent-Jobs) weist die SSMS-GUI einige Mängel bei der Verwaltung dieser Multi-Server-Jobs auf.
Wenn ein Zielserver Probleme beim Herunterladen von Anweisungen für einen Job hat, werden diese Fehler in aufgelistet
msdb.dbo.sysdownloadlist
. In der SSMS-GUI wird dies jedoch nur als Job angezeigt, der den Status "Blockiert" aufweist.Sie können verwenden
EXEC sp_help_targetserver @server_name = 'MyServer';
, um die Anweisungen anzuzeigen, einschließlich Fehler und nicht gesendeter Anweisungen.Microsoft empfiehlt, den gesamten Server erneut zu synchronisieren, wenn Sie feststellen, dass er blockiert ist. Dies erfolgt durch Ausführen des Befehls. Dadurch werden
EXEC sp_resync_targetserver @server_name = 'MyServer';
alle Jobs auf dem Zielserver gelöscht und neu erstellt. Dies kann störend sein (Sie können sich vorstellen, was schief gehen könnte, wenn Sie alle Ihre Jobs gleichzeitig löschen und neu erstellen, wenn ein Job ausgeführt werden soll). Darüber hinaus führt dies zum Verlust des Auftragsverlaufs auf dem Ziel.Stattdessen können Sie die spezifischen Jobs, die ein Problem darstellen, manuell reparieren:
quelle