Freigeben über


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:

  • EventAgeMode – Es werden alle WCF- und WF-Ereignisse sowie WF-Instanzdatensätze entfernt, ganz gleich, ob eine Instanz beendet wurde. Ereignisse werden konsequent basierend auf dem Alter des Ereignisses beibehalten oder entfernt.

  • WFInstanceCompletedMode – Alle Ereignisse werden nach Alter entfernt, ausgenommen WF-Instanzen und Aktivitätsereignisse, die sich auf aktive Instanzen beziehen. In diesem Modus werden die Datensätze von beendeten Instanzen und die zugehörigen Aktivitätsereignisse gelöscht.

    Optional; Standardwert ist EventAgeMode.

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

Datenbankverwaltung

  2011-12-05