Konfigurieren der Datenentfernung

Wenn eine Notification Services-Anwendung ausgeführt wird, werden Daten in den Ereignis-, Benachrichtigungs- und Verteilungstabellen sowie in den Steuerungstabellen angesammelt, die von Notification Services-Komponenten zur Koordination ihres Betriebs verwendet werden. Wenn diese Daten nicht aus der Anwendungsdatenbank entfernt werden, kann die Datenbank sehr umfangreich werden und die Anwendungsleistung beeinträchtigt werden. Zur Vermeidung dieser Situation können Sie einen automatischen Datenentfernungsprozess konfigurieren, der als Vacuumer bezeichnet wird.

Datenentfernungsprozess

Der Notification Services-Datenentfernungsprozess wird als Vacuumer bezeichnet. Der Vacuumer löscht veraltete Ereignis-, Benachrichtigungs- und Batchheaderdaten aus den folgenden Tabellen in der Anwendungsdatenbank:

  • NSQuantum1
  • NSRuleFirings1
  • NSEventClassNameEventBatches
  • NSEventClassNameEvents
  • NSNotificationClassNameNotificationBatches
  • NSNotificationClassNameNotifications
  • NSDistributorWorkItems
  • NSDistributionLog

Nur verarbeitete Ereignisbatches und Daten für Benachrichtigungen, die entweder gesendet wurden, abgelaufen sind oder ohne weitere Übermittlungsversuche fehlgeschlagen sind, werden aus dem System entfernt.

Der Vacuumer beschränkt die Anzahl der gleichzeitig gelöschten Datensätze basierend auf der maximalen Anzahl von Einträgen pro Tabelle. Dies begrenzt die Dauer jedes Datenentfernungsintervalls und ermöglicht die Ausführung des Vacuumers, ohne Systemressourcen und Anwendungsverarbeitungszeit übermäßig zu beanspruchen.

ms171064.note(de-de,SQL.90).gifWichtig:
Die Datenentfernung belegt erhebliche Datenbank-Systemressourcen. Führen Sie den Datenentfernungsprozess nur in Zeiträumen mit niedriger Systemaktivität aus.

Beibehaltungsalter

Wenn Sie den Vacuumer konfigurieren, geben Sie ein Beibehaltungsalter für Ereignis- und Benachrichtigungsdaten an. Wenn der Vacuumer gestartet wird, liest er die Systemuhr auf dem Datenbankserver und identifiziert dann alle Daten, die das Beibehaltungsalter erreicht haben.

Wenn Sie das Beibehaltungsalter angeben, müssen Sie bestimmen, wie lange Sie Ereignis- und Benachrichtigungsdaten beibehalten möchten. Stellen Sie sicher, dass Sie alle erforderlichen Aktionen auf den Daten ausführen, bevor die Daten das Beibehaltungsalter überschritten haben, da bei der Datenentfernung die Daten auch aus dem Verteilungsprotokoll entfernt werden.

Das Standardbeibehaltungsalter ist 7 Tage.

Zeitplan

Wenn Sie den Vacuumer konfigurieren, geben Sie auch einen Zeitplan an, nach dem er ausgeführt wird. Der Zeitplan kann mehrere Startzeiten und Dauern enthalten.

  • Die Startzeit, die in UTC (Universal Coordinated Time oder GMT) festgelegt wird, gibt an, wann der Vacuumer ausgeführt werden soll.
  • Die Dauer gibt an, wie lang der Vacuumer ausgeführt werden soll. Die Standarddauer ist 6 Stunden bzw. bis zur nächsten Startzeit.
ms171064.note(de-de,SQL.90).gifWichtig:
Es gibt keinen standardmäßigen Datenentfernungs-Zeitplan. Wenn Sie keinen Datenentfernungs-Zeitplan festlegen, werden alte Daten nicht von Notification Services aus der Anwendungsdatenbank entfernt.

Der Vacuumer überprüft einmal pro Minute, ob er ausgeführt werden sollte. Dies kann zu einem Unterschied von bis zu einer Minute zwischen der angegebenen Startzeit und der tatsächlichen Startzeit führen.

Nach jeder vom Vacuumer abgeschlossenen Arbeitseinheit wird die Systemuhr überprüft, um festzustellen, ob die Dauer überschritten wurde. Außerdem wird in der Datenbank überprüft, ob die dem Vacuumer zugeordnete Anwendung deaktiviert wurde. Ist eines dieser Ereignisse aufgetreten, wird der Vacuumer beendet. Außerdem wird im Ereignisprotokoll eine Meldung verzeichnet, und der Vacuumer wird bis zum nächsten geplanten Vacuumerintervall in den Ruhezustand versetzt.

Beim Bestimmen des Vacuumerzeitplanes ist es am günstigsten, Zeiten niedriger Auslastung für die Anwendung und den Datenbankserver auszuwählen. Wenn es keine Zeiten niedriger Auslastung gibt, können Sie den Datenentfernungsprozess häufiger ausführen, damit während jedes Vacuumerzeitraumes weniger Daten entfernt werden. Dies kann die Auswirkungen auf die Anwendungsleistung minimieren.

So konfigurieren Sie den Datenentfernungsprozess

Konfigurieren Sie die Datenentfernung in der Anwendungsdefinitionsdatei (Application Definition File, ADF), wenn Sie eine Anwendung in XML definieren. Verwenden Sie zum Konfigurieren der Datenentfernung Notification Services Management Objects (NMO), wenn Sie eine Anwendung programmgesteuert definieren.

Siehe auch

Konzepte

Angeben von Einstellungen für die Anwendungsausführung
Entfernen von veralteten Anwendungsdaten

Andere Ressourcen

NSVacuum (Transact-SQL)

Hilfe und Informationen

Informationsquellen für SQL Server 2005