Archivieren und Bereinigen einer Datenbank
In diesem Abschnitt wird beschrieben, wie in Windows Server AppFabric ein Überwachungsspeicher (Standardname von ApplicationServerMonitoring) archiviert und bereinigt oder ein Persistenzspeicher (Standardname von ApplicationServerPersistence) nur bereinigt wird. Da ein Überwachungs- oder Persistenzspeicher immer größer wird, sammeln sich hier große Datenmengen an. Zur Sicherung der optimalen Leistung sollten ältere Überwachungsdaten basierend auf bestimmten Kriterien archiviert oder alle veralteten Instanzpersistenzdaten aus den Überwachungs- und Persistenzspeichern von AppFabric entfernt werden.
Mit AppFabric können Sie einen Speicher nur mit den Windows PowerShell-Cmdlets archivieren und bereinigen, die speziell für diese Aufgabe mit AppFabric bereitgestellt werden. Archivierte Daten gelten nur für den Kontext des Überwachungsspeichers. Das Archivieren von Überwachungsdaten ist sinnvoll, da sie Verlaufsdaten darstellen und im AppFabric-Dashboard im Abschnitt WCF-Aufrufverlauf auf der Seite Nachverfolgte Ereignisse und im Abschnitt WF-Instanzverlauf auf der Seite Nachverfolgte WF-Instanzen Überwachungsverlaufsmetriken angezeigt werden. Die Metriken, die im Abschnitt Persistente WF-Instanzen auf der Seite Persistente WF-Instanzen angezeigt werden, sind jedoch Echtzeitdaten für aktuell persistente Workflowinstanzen. Wenn Sie Informationen zu persistenten Workflowinstanzen archivieren und dann zu einem späteren Zeitpunkt anzeigen, wenn diese Workflowinstanzen möglicherweise bereits abgeschlossen sind und nicht mehr existieren, erhalten Sie keine wirklich nützlichen Informationen. Daher gelten alle archivbezogenen Cmdlets nur für den Überwachungsspeicher. Die Funktionen des Bereinigungs-Cmdlets können jedoch auf Überwachungs- und Persistenzspeicher angewendet werden. Das AppFabric-Feature zur automatischen Datenspeicherbereinigung kann nur für AppFabric-Installationen verwendet werden, die Microsoft SQL Server zum Speichern der Überwachungsdaten verwenden. Außerdem ist der Überwachungsspeicher die einzige Datenbank in AppFabric, die über eine Funktion zur automatischen Bereinigung verfügt. Sie kann nicht für die Verwendung mit dem Persistenzspeicher konfiguriert werden.
Cmdlets für das Bereinigen und Archivieren einer Datenbank
Die folgenden AppFabric-Cmdlets für Windows PowerShell werden für die unterschiedlichen Aufgaben in Verbindung mit dem Bereinigen und Archivieren der AppFabric-Speicher verwendet.
Cmdlet | Beschreibung |
---|---|
Clear-ASMonitoringSqlDatabase |
Bereinigt eine Überwachungsdatenbank. Optional können die entfernten Daten in eine Archivdatenbank übernommen werden. |
Set-ASMonitoringSqlDatabaseArchiveConfiguration |
Ordnet einer Überwachungsdatenbank eine Archivzieldatenbank zu. Die Archivzieldatenbank muss eine bereits vorhandene, initialisierte Überwachungsdatenbank sein. |
Get-ASMonitoringSqlDatabaseArchiveConfiguration |
Gibt, sofern vorhanden, die Archivkonfiguration der angegebenen Überwachungsdatenbank zurück (im Wesentlichen die Verbindungszeichenfolge, mit der die Zielarchivdatenbank identifiziert wird). |
Remove-ASMonitoringSqlDatabaseArchiveConfiguration |
Entfernt die Konfigurationsinformationen zur Archivdatenbank einer Überwachungsdatenbank. Hierbei wird davon ausgegangen, dass die Archivkonfiguration vorher mit Set-ASMonitoringSqlDatabaseArchiveConfiguration konfiguriert wurde. |
Remove-ASAppServiceInstance |
Entfernt "veraltete" Instanzdaten aus dem Persistenzspeicher. Für entfernte Instanzdaten gibt es keine Archivoption. |
In den folgenden Abschnitten wird jedes der Cmdlets im Detail beschrieben, und anhand eines Beispiels wird gezeigt, wie das Cmdlet verwendet wird.
Festlegen, Abrufen und Entfernen der Überwachungsspeicherkonfiguration
Set-ASMonitoringSqlDatabaseArchiveConfiguration konfiguriert eine gegebene Überwachungsdatenbank mit einer zugeordneten Archivzieldatenbank. Die Archivzieldatenbank muss eine bereits vorhandene, initialisierte Überwachungsdatenbank sein. Mit diesem Cmdlet wird sichergestellt, dass die primäre und die Archivdatenbank jeweils Überwachungsdatenbankartefakte enthalten und dass die Versionen übereinstimmen.
Get-ASMonitoringSqlDatabaseArchiveConfiguration ruft die Archivdatenbankkonfiguration aus einer Überwachungsdatenbank ab.
Remove-ASMonitoringSqlDatabaseArchiveConfiguration entfernt die Konfigurationsinformationen zur Archivdatenbank einer Überwachungsdatenbank.
Set-ASMonitoringSqlDatabaseArchiveConfiguration
Syntax 1:
Set-ASMonitoringSqlDatabaseArchiveConfiguration -ArchiveDatabase <String> -Database <String> [-Confirm] [-LinkedArchiveServer <String>] [-Server <String>] [-WhatIf] [<CommonParameters>]
Syntax 2:
Set-ASMonitoringSqlDatabaseArchiveConfiguration -ArchiveDatabase <String> -ConnectionString <String> [-Confirm] [-LinkedArchiveServer <String>] [-WhatIf] [<CommonParameters>]
Parameter | Beschreibung |
---|---|
ArchiveDatabase |
Name der Archivzieldatenbank. |
Database |
Name der primären Datenbank, für die die Archivierung konfiguriert werden soll. Nur optional, wenn ConnectionString angegeben wird. |
ConnectionString |
Verbindungszeichenfolge für die primäre Überwachungsdatenbank. |
LinkedArchiveServer |
Name des SQL-Servers, der als Host für die Archivzieldatenbank dient. |
Server |
Name des SQL-Servers, der als Host für die primäre Überwachungsdatenbank dient. |
WhatIf |
Stellt die Verbindung zu den Datenbanken her, übernimmt jedoch nicht die eigentliche Konfiguration der Archivierung. Optional. |
Beispiel
Im folgenden Beispiel wird die Archivkonfiguration für die primäre Überwachungsdatenbank ApplicationServerMonitoring festgelegt. Die Archivzieldatenbank ist ArchiveMonitoringDatabase. Der Benutzer wird aufgefordert, den Vorgang zu bestätigen, bevor die Archivkonfiguration festgelegt wird.
Set-ASMonitoringSqlDatabaseArchiveConfiguration –ArchiveDatabase ArchiveMonitoringDatabase –Database ApplicationServerMonitoring
Get-ASMonitoringSqlDatabaseArchiveConfiguration
Syntax 1:
Get-ASMonitoringSqlDatabaseArchiveConfiguration -Database <String> [-Server <String>] [<CommonParameters>]
Syntax 2:
Get-ASMonitoringSqlDatabaseArchiveConfiguration -ConnectionString <String> [<CommonParameters>]
Parameter | Beschreibung |
---|---|
Database |
Name der primären Datenbank, deren Archivkonfiguration abgerufen werden soll. Nur optional, wenn eine Verbindungszeichenfolge angegeben wird. |
Server |
Name des SQL-Servers, der als Host für die primäre Überwachungsdatenbank dient. Optional; ohne Angabe dieses Parameters wird standardmäßig der lokale Computer verwendet. |
ConnectionString |
Verbindungszeichenfolge zur primären Überwachungsdatenbank. Nur optional, wenn Database und Server angegeben werden oder standardmäßig der lokale Computer verwendet wird. |
Remove-ASMonitoringSqlDatabaseArchiveConfiguration
Syntax 1:
Remove-MonitoringDatabaseArchiveConfiguration [-Database <String>] [–Server <String>] [-Confirm <Switch>][-ConnectionString<String>]
Parameter | Beschreibung |
---|---|
Database |
Name der primären Datenbank, deren Archivkonfiguration abgerufen werden soll. Nur optional, wenn eine Verbindungszeichenfolge angegeben wird. |
Server |
Name des SQL-Servers, der als Host für die primäre Überwachungsdatenbank dient. Optional; ohne Angabe dieses Parameters wird standardmäßig der lokale Computer verwendet. |
Confirm |
Wird dieser Parameter angegeben, muss der Benutzer das Entfernen des Links bestätigen. |
ConnectionString |
Verbindungszeichenfolge zur primären Überwachungsdatenbank. Nur optional, wenn die Parameter Database und Server angegeben werden oder standardmäßig der lokale Computer verwendet wird. |
Beispiel
Im folgenden Beispiel wird die Archivkonfiguration für die primäre Überwachungsdatenbank ApplicationServerMonitoring entfernt.
Remove-MonitoringDatabaseArchiveConfiguration –Database “ApplicationServerMonitoring”
Bereinigen und Archivieren eines Überwachungsspeichers
Sie verwenden das Cmdlet Clear-ASMonitoringSqlDatabase, um die Überwachungsdatenbank zu bereinigen; optional können Sie die entfernten Daten in eine Remote-Archivzielüberwachungsdatenbank übernehmen.
Clear-ASMonitoringSqlDatabase
Syntax 1:
Clear-ASMonitoringSqlDatabase -Database <String> [-Archive] [-CutoffTime <DateTime>] [-MaxAge <TimeSpan>] [-PurgeMode {<EventAgeMode | None | WFInstanceCompletedMode}] [-Server <String>] [<CommonParameters> [-WhatIf]]
Syntax 2:
Clear-ASMonitoringSqlDatabase -ConnectionString <String> [-Archive] [-CutoffTime <DateTime>] [-MaxAge <TimeSpan>] [-PurgeMode {<EventAgeMode | None | WFInstanceCompletedMode>}] [-WhatIf] [<CommonParameters>]
Parameter | Beschreibung |
---|---|
Database |
Name der zu bereinigenden Datenbank. Nur optional, wenn ConnectionString angegeben wird. |
ConnectionString |
Verbindungszeichenfolge zu der zu bereinigenden Datenbank. Optional, wenn Database und Server angegeben werden. |
Archive |
Die zu entfernenden Daten werden zunächst in der (mit Set-ASMonitoringSqlDatabaseArchiveConfiguration) vorkonfigurierten Archivdatenbank archiviert. Optional. |
CutoffTime |
Alle Ereignisse in der Datenbank, die vor dem Stichtermin ausgegeben wurden, werden entfernt. Im WFInstanceCompletedMode werden WF-Ereignisse, die sich auf aktive Instanzen beziehen, beibehalten. Dieser Parameter ist optional; wenn er nicht angegeben wird, wird sein Wert berechnet, indem der Parameter MaxAge vom aktuellen Zeitpunkt subtrahiert wird. |
MaxAge |
Der Zeitraum, für den sich ein Ereignis in einer Überwachungsdatenbank befunden haben muss, bevor es im Rahmen der zeitbasierten Bereinigung entfernt werden kann. Dieser Parameter ist optional, Standardwert 0. |
PurgeMode |
Legt fest, wie die Bereinigung erfolgt. Es gibt zwei Optionen:
|
Server |
Der Name des Servers, der als Host für die zu bereinigende Datenbank dient. Optional; ohne Angabe wird standardmäßig der lokale Server verwendet. |
Beispiel
In diesem einfachen Beispiel wird gezeigt, wie Ereignisse archiviert und entfernt werden, die sich auf beendete Instanzen beziehen. Im Beispiel wird die Überwachungsdatenbank ContosoDatabase bereinigt, die sich auf dem lokalen Server befindet.
Clear-ASMonitoringSqlDatabase –Database “ContosoDatabase” –PurgeMode “WFInstanceCompletedMode” –Archive
Entfernen von veralteten Instanzen aus einem Persistenzspeicher
Instanzen von Diensten, die von allen Computern in einer Webfarm entfernt wurden, können sich weiterhin im Persistenzspeicher befinden und verursachen dann Störungen bei der Abfrage des Persistenzspeichers. Wenn ein Computer aus dem Netzwerk entfernt wird, verbleibt eine persistente Instanz, die mit diesem entfernten Computer verbunden ist, als veraltete Instanz im Persistenzspeicher. Mit dem Cmdlet Remove-ASAppServiceInstance können solche veralteten Instanzen entfernt werden.
Remove-ASAppServiceInstance
Syntax 1:
Remove-ASAppServiceInstance -Database <String> -InstanceId <Guid> [-Confirm] [-Force] [-Server <String>] [-WhatIf] [<CommonParameters>]
Syntax 2:
Remove-ASAppServiceInstance -ConnectionString <String> [-Confirm] [-Force] [-WhatIf] [<CommonParameters>]
Syntax 3:
Remove-ASAppServiceInstance -ServiceInstanceInfo <InstanceInfo> [-Confirm] [-Force] [-WhatIf] [<CommonParameters>]
Parameter | Beschreibung |
---|---|
Database |
Der Name des zu bereinigenden Persistenzspeichers. Erforderlich, sofern ConnectionString nicht angegeben wird. |
InstanceId |
Dienstinstanz-ID in Form einer GUID. |
Confirm |
Sorgt dafür, dass der Benutzer den Vorgang bestätigen muss, bevor Dienstinstanzen entfernt werden. Kann nicht in Verbindung mit Force verwendet werden. |
Force |
Erzwingt den Vorgang ohne Benutzerbestätigung. Kann nicht in Verbindung mit Confirm verwendet werden. |
Server |
Name des SQL-Servers, der als Host für die Database dient. Optional; standardmäßig der lokale Server. |
WhatIf |
Stellt die Verbindung zum Speicher her, entfernt jedoch keine Dienstinstanzdaten. |
ConnectionString |
Verbindungszeichenfolge zu dem zu bereinigenden Persistenzspeicher. Optional, kann anstelle von Database und Server verwendet werden. |
ServiceInstanceInfo |
Siehe auch
Konzepte
2011-12-05