Alle Abonnements anzeigen
So schön ja auch die Möglichkeit ist, einzelne Abonnements einzurichten, so schwierig ist es, den Überblick zu behalten, wenn z. B. Teile eines Reportservers umziehen sollen. Die Pflege einzelner Abonnements setzt gelegentlich auch voraus, dass man sich vorher mal einen Überblick über alle vorhandenen Abonnements zu einem Bericht, oder einem Berichtspfad verschafft.
Berichts-Manager
Leider bietet der Berichts-Manager in diesem Bereich nur einen rudimentären Überblick. Als Informationen werden praktisch nur eine generierte Beschreibung, sowie der Zeitpunkt und Status der letzten Ausführung angeboten. Wer Details sehen möchte, muss jedes Abonnement einzeln öffnen. Die Information, welcher Job im SQL Server Agent mit welchem Abonnement verknüpft ist, lässt sich über den Berichts-Manager überhaupt nicht ermitteln.
Also müsssen wir da selber etwas Hand anlegen!
Überblick verschaffen
Bereits vor einiger Zeit habe ich zwei Skripte veröffentlicht, die zur Anzeige der Abonnements und der fehlerhaften Abonnements verwendet werden können.
Im heutigen Beitrag soll es um die Ergänzung der Informationen gehen, die die zeitliche Einplanung betreffen. Es soll also die Frage beantwortet werden: Wann soll das Abonnement immer laufen?
Die Reporting Services verwalten alle Informationen in frei zugänglichen Tabellen, die allerdings nicht dokumentiert sind. Man sollte sich auch im klaren darüber sein, dass sich in der nächsten Version diese Struktur oder die Inhalte ändern können, ohne dass dieses in der Dokumentation erwähnt wird.
Reportserver..Schedule
Diese Tabelle beinhaltet alle Informationen, die wir zur Auswertung der Abonnements benötigen. Hierin sind sowohl die Daten für normale zeitgesteuerte Abonnements, als auch für ereignisgesteuerte Abonnements (Snapshots) abgelegt.
Einige Felder sind allerdings schlecht lesbar, da dort über eine Bit-Codierung die Informationen abgelegt werden. Hierzu hatte ich ja bereits gestern die Grundlagen beschrieben. Im folgenden werde ich dann bei den Feldern nur noch (Bitmaskierung) als Info angeben und verwende zur angenehmeren Darstellung die Funktionen aus dem gestrigen Beitrag.
Uns interessieren jetzt die folgenden Feldgruppen:
- Job-Informationen (Für alle Sätze benötigt)
- RecurrenceType "Day/Week
- RecurrenceType "Month & Day"
- RecurrenceType "Month & Week"
- RecurrenceType "Daily"
- RecurrenceType "Hourly"
- RecurrenceType "Once"
Job-Informationen
ScheduleId | Jobname im SQL Server Agent |
RecurrenceType | Art der Wiederholung
|
StartDate | Zeitanteil = Uhrzeit der Ausführung |
StartDate | Datumsanteil = Datum der nächsten Ausführung |
EndDate | Datumsanteil = Endezeitpunkt des Abonnements |
Day/Week
WeeksInterval | Wochenintervall |
DaysOfWeek | Wochentage (Bitmaskierung) |
Month & Day
Month | Monate (Bitmaskierung) |
DaysOfMonth | Tage im Monat (Bitmaskierung) |
Month & Week
Month | Monate (Bitmaskierung) |
MonthlyWeek | Woche des Monats |
DaysOfWeek | Wochentage (Bitmaskierung) |
Daily
DaysInterval | Tagesintervall |
Hourly
MinutesInterval | Minutenintervall |
Once
siehe Job-Informationen | Keine zusätzlichen Felder |
Auswertung der Abonnements
Hierzu kann man sich einen Bericht erstellen, der für jeden abonnierten Bericht einen Abschnitt enthält. Die Angaben zum Scheduler kommen in meinem Beispiel über einen Unterbericht. Die Verknüpfung erfolgt über den Job-Namen.
Anmerkungen zum Screenshot
Es gibt einige Punkte, auf die ich hier eingehen möchte:
- An dieser Stelle gebe ich den Pfad aus, unter dem der Bericht zu finden ist.
- Hier steht der Name des Berichts
- Falls ein Abonnement bereits beendet ist, wird es rot markiert und das Ende-Datum erscheint als Tool-Tip, wenn man die Maus über die rote Markierung bewegt.
- Das ist der Unterbericht, mit den Informationen zu den einzelnen Arten der Einplanung
Der Unterbericht verwendet verschiedene Tabellen, die in Abhängigkeit vom RecurrenceTyp ein- oder ausgeblendet werden. Jede einzelne Tabelle beinhaltet die Feldliste, die ich oben bereits angegeben habe.
Bitmaskierung Jobs Scheduler
Bitmaskierung Jobs Scheduler Complete
Print article | This entry was posted by cmu on 17.04.12 at 12:17:00 . Follow any responses to this post through RSS 2.0. |