Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
SQL Server Management Studio und Microsoft SQL Server-Agent bieten eine Möglichkeit, Ereignisse wie Replikations-Agent-Ereignisse mithilfe von Warnungen zu überwachen. DER SQL Server-Agent überwacht das Windows-Anwendungsprotokoll auf Ereignisse, die Warnungen zugeordnet sind. Wenn ein solches Ereignis auftritt, antwortet DER SQL Server-Agent automatisch, indem eine Aufgabe ausgeführt wird, die Sie definiert haben und/oder eine Pagernachricht an einen angegebenen Operator senden. SQL Server enthält eine Reihe vordefinierter Warnungen für Replikations-Agents, die Sie konfigurieren können, um eine Aufgabe auszuführen und/oder einen Operator zu benachrichtigen. Weitere Informationen zum Definieren einer auszuführenden Aufgabe finden Sie im Abschnitt "Automatisieren einer Antwort auf eine Warnung" in diesem Thema.
Die folgenden Warnungen werden installiert, wenn ein Computer als Distributor konfiguriert ist:
| Meldungs-ID | Vordefinierte Warnung | Zustand, der die Warnung ausgelöst hat | Gibt zusätzliche Informationen in "msdb." ein. sysreplicationalerts |
|---|---|---|---|
| 14150 | Replikation: Agenterfolg | Der Agent wird erfolgreich beendet. | Ja |
| 14151 | Replikation: Agentfehler | Der Agent wird mit einem Fehler heruntergefahren. | Ja |
| 14152 | Replikation: Agent versucht erneut | Der Agent wird nach erfolglosem Wiederholen eines Vorgangs heruntergefahren (der Agent stößt auf einen Fehler, z. B. Server nicht verfügbar, Deadlock, Verbindungsfehler oder Timeoutfehler). | Ja |
| 14157 | Replikation: Abgelaufenes Abonnement gelöscht | Das abgelaufene Abonnement wurde gelöscht. | Nein |
| 20572 | Replikation: Abonnement nach Validierungsfehler neu initialisiert | Der Antwortauftrag "Abonnements bei Datenüberprüfungsfehlern erneut initialisieren" initialisiert ein Abonnement erfolgreich. | Nein |
| 20574 | Replikation: Der Abonnent hat die Datenüberprüfung nicht bestanden | Der Verteilungs- oder Zusammenführungs-Agent schlägt die Datenüberprüfung fehl. | Ja |
| 20575 | Replikation: Abonnenten haben die Datenüberprüfung bestanden. | Der Verteilungs- oder Zusammenführungs-Agent besteht die Datenüberprüfung. | Ja |
| 20578 | Replikation: benutzerdefiniertes Herunterfahren des Agents | ||
| 22815 | Warnung zur Erkennung von Peer-to-Peer-Konflikten | Der Verteilungs-Agent hat einen Konflikt erkannt, wenn versucht wird, eine Änderung auf einen Peer-to-Peer-Knoten anzuwenden. | Ja |
Neben diesen Warnungen bietet der Replikationsmonitor eine Reihe von Warnungen und Benachrichtigungen im Zusammenhang mit Status und Leistung. Weitere Informationen finden Sie unter Schwellenwerte und Warnungen im Replikationsmonitor festlegen in der Infrastruktur für Warnungen. Weitere Informationen finden Sie unter Erstellen eines User-Defined Ereignisses.
So konfigurieren Sie vordefinierte Replikationswarnungen
- SQL Server Management Studio: Konfigurieren vordefinierter Replikationsbenachrichtigungen (SQL Server Management Studio)
Direkte Ansicht des Anwendungsprotokolls
Verwenden Sie zum Anzeigen des Windows-Anwendungsprotokolls die Microsoft Windows-Ereignisanzeige. Das Anwendungsprotokoll enthält SQL Server-Fehlermeldungen sowie Meldungen für viele andere Aktivitäten auf dem Computer. Im Gegensatz zum SQL Server-Fehlerprotokoll wird bei jedem Starten von SQL Server kein neues Anwendungsprotokoll erstellt (jede SQL Server-Sitzung schreibt neue Ereignisse in ein vorhandenes Anwendungsprotokoll); Sie können jedoch angeben, wie lange protokollierte Ereignisse aufbewahrt werden sollen. Wenn Sie das Windows-Anwendungsprotokoll anzeigen, können Sie das Protokoll nach bestimmten Ereignissen filtern. Weitere Informationen finden Sie in der Windows-Dokumentation.
Automatisieren einer Antwort auf eine Warnung
Die Replikation bietet einen Antwortauftrag für Abonnements, bei denen die Datenüberprüfung fehlschlägt, und bietet außerdem ein Framework zum Erstellen zusätzlicher automatisierter Antworten auf Warnungen. Der Antwortauftrag lautet " Abonnements für Datenüberprüfungsfehler erneut initialisieren " und wird im Ordner "SQL Server-Agent-Aufträge " in SQL Server Management Studio gespeichert. Informationen zum Aktivieren dieses Antwortauftrags finden Sie unter Konfigurieren vordefinierter Replikationsbenachrichtigungen (SQL Server Management Studio).For information about enabling this response job, see Configure Predefined Replication Alerts (SQL Server Management Studio). Wenn die Überprüfung von Artikeln in einer transaktionsalen Publikation fehlschlägt, werden im Antwortauftrag nur die Artikel neu initialisiert, die fehlgeschlagen sind. Wenn die Überprüfung von Artikeln in einer Zusammenführungsveröffentlichung fehlschlägt, werden alle Artikel in der Publikation vom Antwortauftrag neu initialisiert.
Framework zum Automatisieren von Antworten
Normalerweise sind bei einem Alarm die einzigen Informationen, die Ihnen helfen zu verstehen, was den Alarm verursacht hat und welche entsprechende Maßnahme zu ergreifen ist, in der Alarmmeldung selbst enthalten. Die Analyse dieser Informationen kann fehleranfällig und zeitaufwändig sein. Die Replikation vereinfacht die Automatisierung von Antworten, indem zusätzliche Informationen zur Warnung in der Systemtabelle sysreplicationalerts bereitgestellt werden; Die bereitgestellten Informationen werden bereits in einem Formular analysiert, das einfach von angepassten Programmen verwendet wird.
Wenn beispielsweise die Daten in der Tabelle "Sales.SalesOrderHeader " bei Subscriber A die Überprüfung fehlschlägt, kann SQL Server die Meldung 20574 auslösen und Sie über diesen Fehler benachrichtigen. Die empfangene Nachricht lautet: „Abonnent 'A', Abonnement für Artikel 'SalesOrderHeader' in Publikation 'MyPublication' Datenüberprüfung fehlgeschlagen.“
Wenn Sie eine Antwort basierend auf der Nachricht erstellen, müssen Sie den Abonnentennamen, den Artikelnamen, den Publikationsnamen und den Fehler der Nachricht manuell analysieren. Da der Verteilungs-Agent und der Zusammenführungs-Agent jedoch dieselben Informationen in sysreplicationalerts schreiben (zusammen mit Details wie dem Agenttyp, der Uhrzeit der Warnung, der Publikationsdatenbank, der Abonnentendatenbank und dem Typ der Publikation), kann der Antwortauftrag direkt die relevanten Informationen aus der Tabelle abfragen. Obwohl die genaue Zeile nicht einer bestimmten Instanz der Warnung zugeordnet werden kann, weist die Tabelle eine Statusspalte auf, die verwendet werden kann, um dienstbezogene Einträge nachzuverfolgen. Die Einträge in dieser Tabelle werden für die Aufbewahrungsdauer beibehalten.
Wenn Sie beispielsweise einen Antwortauftrag in Transact-SQL erstellen würden, um Meldung 20574 zu bearbeiten, können Sie die folgende Logik verwenden:
declare @publisher sysname, @publisher_db sysname, @publication sysname, @publication_type int, @article sysname, @subscriber sysname, @subscriber_db sysname, @alert_id int
declare hc cursor local for select publisher, publisher_db, publication, publication_type, article, subscriber,
subscriber_db, alert_id from
msdb..sysreplicationalerts where
alert_error_code = 20574 and status = 0
for read only
open hc
fetch hc into @publisher, @publisher_db, @publication, @publication_type, @article, @subscriber, @subscriber_db, @alert_id
while (@@fetch_status <> -1)
begin
/* Do custom work */
/* Update status to 1, which means the alert has been serviced. This prevents subsequent runs of this job from doing this again */
update msdb..sysreplicationalerts set status = 1 where alert_id = @alert_id
fetch hc into @publisher, @publisher_db, @publication, @publication_type, @article, @subscriber, @subscriber_db, @alert_id
end
close hc
deallocate hc
Siehe auch
Verwaltung des Replikations-Agents
Bewährte Methoden für die Replikationsverwaltung
Überwachen (Replikation)