Automatisches Bereinigen einer Datenbank
Der Zweck der automatischen Löschfunktion in Windows Server AppFabric besteht darin, das Anwachsen einer AppFabric-Überwachungsdatenbank auf der Festplatte automatisch und regelmäßig zu überprüfen und ihren Speicherplatzbedarf auf der Festplatte bei Bedarf zu verringern. Dadurch wird sichergestellt, dass eine Überwachungsdatenbank nicht unkontrolliert wächst und zu viel Speicherplatz auf der Festplatte beansprucht. Durch dieses Feature wird die Datenbank praktisch in einen Ringpuffer umgewandelt, indem die ältesten Ereignisse gelöscht werden, um Platz für die neuesten Ereignisse zu schaffen, wenn die Datenbank den für sie konfigurierten Grenzwert erreicht. Die Methode des Ringpuffers wird von vielen Protokollmechanismen verwendet, einschließlich der Ereignisablaufverfolgung für Windows (ETW). Ohne die automatische Löschfunktion müsste der Administrator regelmäßig die integrierten Funktionen zur Datenbankbereinigung und -archivierung verwenden, um sicherzustellen, dass die Datenbank nicht übermäßig anwächst und zu viel Speicherplatz auf der Festplatte beansprucht. Weitere Informationen zur manuellen Bereinigung und Archivierung finden Sie unter Archivieren und Bereinigen einer Datenbank.
Die automatische Funktion zur Datenbankbereinigung ist nützlich, wenn beim Erreichen eines konfigurierbaren Größenschwellenwerts, oder wenn Ereignisse für einen konfigurierbaren Zeitraum in der Datenbank gespeichert waren, ein Prozentsatz der ältesten Ereignisse gelöscht werden soll. Das Konfigurieren eines dieser Werte kann die Verwaltung des Festplattenplatzes spürbar unterstützen. Die automatische Bereinigung gibt Speicherplatz auf der Festplatte für das Speichern neuer Überwachungsereignisse frei. Standardmäßig haben AppFabric-Benutzer stets Zugriff auf die aktuellsten 1,5 GB Überwachungsdaten (Standardgröße). Darüber hinaus kann ein Consumer der Daten die Vorgangstabelle in der Datenbank abfragen, um zu bestimmen, wann die Löschvorgänge stattfinden.
Konfigurieren der automatischen Bereinigung
Die automatischen Löschvorgänge werden durch eine gespeicherte SQL Server-Prozedur gesteuert, die von AppFabric beim Initialisieren der ApplicationServerMonitoring-Datenbank während des Setups installiert wird. Die gespeicherte Prozedur wird in regelmäßigen Abständen ausgeführt und liest die von Ihnen in der Tabelle Dbo.ConfigurationPropertiesTable konfigurierten Werte, um die Logik der automatischen Löschvorgänge zu steuern. In AppFabric ist keine Benutzeroberfläche für das Konfigurieren dieser Tabelle vorhanden. SQL Server Management Studio kann verwendet werden, um für die in der folgenden Tabelle beschriebenen Einstellungen direkt Werte festzulegen, die aus Ihrer Sicht zweckmäßig für die in Ihrem Fall erforderliche Datenbankbereinigung sind.
Spaltenname | Spaltentyp | Standard | Beschreibung |
---|---|---|---|
ArchiveServer |
Nvarchar(128) |
NULL |
Der Name eines SQL-Servers, auf dem eine Überwachungsdatenbank gehostet ist. Diese Datenbank wird für das Archivieren von Überwachungsdaten verwendet. |
ArchiveDatabase |
Nvarchar(128) |
NULL |
Der Name einer Überwachungsdatenbank. Diese Datenbank wird für die Archivierung von Überwachungsdaten verwendet. |
APEnabled |
Bit |
1 |
Aktiviert oder deaktiviert die automatische Bereinigung von Überwachungsdaten. Bei dem Wert 1 löscht die Datenbank auf der Grundlage der sonstigen Konfigurationseigenschaften für die automatische Bereinigung automatisch Daten. |
APThreshold |
int |
1500 |
Diese Eigenschaft wird nur gelesen, wenn APEnabled auf 1 festgelegt ist. Wenn die Größe dieser Datenbank diesen Schwellenwert überschreitet (auf Megabyte gerundet), wird der automatische Löschvorgang gestartet, und Überwachungsdaten werden gemäß der Konfigurationseigenschaft APTrimPercentage gelöscht. |
APMaxEventAge |
float |
NULL |
Diese Eigenschaft wird nur gelesen, wenn APEnabled auf 1 festgelegt ist. Alle Überwachungsereignisse in der Datenbank, die älter als der in dieser Eigenschaft festgelegte Wert (in Tagen) sind, werden gelöscht. |
APTrimPercentage |
int |
10 |
Diese Eigenschaft wird nur gelesen, wenn APEnabled auf 1 festgelegt ist. Wenn der APThreshold-Löschmechanismus gestartet wird, werden ungefähr APTrimPercentage Prozent der ältesten Überwachungsdaten gelöscht, und Platz für neue Daten wird freigegeben. Der Standardwert für diese Einstellung ist 10 Prozent. |
Die ältesten Ereignisse werden gelöscht, wenn die Löß erfüllt sind und die gespeicherte Prozedur ausgelöst wird. Wenn bei einer der regelmäßigen Ausführungen der gespeicherten Prozedur festgestellt wird, dass die Größe der bestimmten Überwachungsdatenbank auf der Festplatte den in APThreshold festgelegten Wert überschritten hat, wird der Prozentsatz (APTrimPercentage-Wert) der ältesten Datenbankeinträge durch die neuesten Einträge überschrieben. Ferner werden, wenn die gespeicherte Prozedur bei einer regelmäßigen Ausführung Ereignisse findet, die älter als der in APMaxEventAge festgelegte Wert sind, die betreffenden Ereignisse gelöscht.
Hinweis
Die aktuelle Größe der Datenbank auf der Festplatte und die Menge der zu löschenden Daten werden beide näherungsweise auf der Grundlage der Konfigurationseigenschaften ermittelt. AppFabric entfernt „ungefähr“ X Prozent der ältesten Werte in der Datenbank. Der tatsächliche Grenzwert, bis zu dem die Datenbank anwachsen kann, kann je nach Hardware und Ereignisdurchsatz verschieden sein.
Hinweis
Das AppFabric-Feature zur automatischen Datenbankbereinigung kann nur für AppFabric-Installationen verwendet werden, die Microsoft SQL Server zum Speichern der Überwachungsdatenbank verwenden. Außerdem ist die Überwachungsdatenbank die einzige Datenbank in AppFabric, die über eine Funktion zur automatischen Bereinigung verfügt. Sie kann nicht für die Verwendung mit der Persistenzdatenbank konfiguriert werden.
Siehe auch
Konzepte
Archivieren und Bereinigen einer Datenbank
2011-12-05