存档和清除数据库

本部分介绍如何在 Windows Server AppFabric 中存档和清除监控存储(ApplicationServerMonitoring 的默认名称),或只清除暂留存储(ApplicationServerPersistence 的默认名称)。由于监控或暂留存储大小会不断增长,因此可能积累大量数据。为了保持较高的性能,将需要根据特定条件存档旧的监控数据,或者分别从 AppFabric 监控和暂留存储中清除任何过时的实例暂留数据。

对于 AppFabric,您只能使用 AppFabric 附带的专为此任务设计的 Windows PowerShell cmdlet 存档和清除存储。存档数据仅适用于监控存储的上下文中。它对存档监控数据非常有意义,因为它在本质上是历史数据,并且 AppFabric 仪表板在“WCF 调用历史记录”部分/“跟踪的事件”页和“WF 实例历史记录”部分/“跟踪的 WF 实例” 页中显示历史监控指标。但是,“暂留的 WF 实例”部分/“暂留的 WF 实例”页中显示的指标是当前暂留工作流实例的实时活动数据。存档暂留工作流实例信息,然后将来在可能这些工作流实例已经完成并且不再存在时进行查看,系统不会为您提供非常有用的信息。因此,所有与存档相关的 cmdlet 只适用于监控存储。清除 cmdlet 功能同时适用于监控和暂留存储。AppFabric 自动数据存储清除功能仅可用于配置为使用 Microsoft SQL Server 存储其监控信息的 AppFabric 安装。监控存储是唯一一个其中存在自动清除功能的 AppFabric 数据库。无法将其配置为与暂留存储一起使用。

用于清除和存档数据库的 Cmdlet

Windows PowerShell 的下列 AppFabric cmdlet 用于执行与清除和存档 AppFabric 存储相关联的各种任务。

Cmdlet 描述

Clear-ASMonitoringSqlDatabase

从监控数据库中清除数据。或者,可以将已清除的数据发送到存档数据库。

Set-ASMonitoringSqlDatabaseArchiveConfiguration

将监控数据库与目标存档数据库相关联。目标存档数据库必须是已存在的并且已初始化的监控数据库。

Get-ASMonitoringSqlDatabaseArchiveConfiguration

从指定的监控数据库(如果有)返回存档配置(实际上,是标识存档目标数据库的连接字符串)。

Remove-ASMonitoringSqlDatabaseArchiveConfiguration

删除有关监控数据库的存档数据库的配置信息。假设之前已使用 Set-ASMonitoringSqlDatabaseArchiveConfiguration 配置了存档配置。

Remove-ASAppServiceInstance

从暂留存储中清除“过时”实例数据。对于已清除的实例数据没有存档选项。

以下部分中将详细介绍每个 cmdlet 并且给出一个示例显示如何使用 cmdlet。

设置、获得和删除监控存储配置

Set-ASMonitoringSqlDatabaseArchiveConfiguration 使用相关联的存档目标数据库配置给定的监控数据库。存档目标数据库必须是已初始化的现有监控数据库。此 cmdlet 确保主要数据库和存档数据库都包含监控数据库项目,并且它们的版本相匹配。

Get-ASMonitoringSqlDatabaseArchiveConfiguration 从监控数据库检索存档数据库配置。

Remove-ASMonitoringSqlDatabaseArchiveConfiguration 删除有关监控数据库的存档数据库的配置信息。

Set-ASMonitoringSqlDatabaseArchiveConfiguration

语法 1:

Set-ASMonitoringSqlDatabaseArchiveConfiguration -ArchiveDatabase <String> -Database <String> [-Confirm] [-LinkedArchiveServer <String>] [-Server <String>] [-WhatIf] [<CommonParameters>]

语法 2:

Set-ASMonitoringSqlDatabaseArchiveConfiguration -ArchiveDatabase <String> -ConnectionString <String> [-Confirm] [-LinkedArchiveServer <String>] [-WhatIf] [<CommonParameters>]
参数 描述

ArchiveDatabase

目标存档数据库的名称。

Database

要为其配置存档的主要数据库的名称。仅当指定了 ConnectionString 时为可选。

ConnectionString

用于主要监控数据库的连接字符串。

LinkedArchiveServer

托管目标存档数据库的 SQL Server 的名称。

Server

托管主要监控数据库的 SQL Server 的名称。

WhatIf

连接到数据库但未实际配置存档。可选。

示例

以下示例为主要监控数据库 ApplicationServerMonitoring 设置存档配置。目标存档数据库为 ArchiveMonitoringDatabase。设置存档配置之前,系统将提示用户确认操作。

Set-ASMonitoringSqlDatabaseArchiveConfiguration –ArchiveDatabase ArchiveMonitoringDatabase –Database ApplicationServerMonitoring

Get-ASMonitoringSqlDatabaseArchiveConfiguration

语法 1:

Get-ASMonitoringSqlDatabaseArchiveConfiguration -Database <String> [-Server <String>] [<CommonParameters>]

语法 2:

Get-ASMonitoringSqlDatabaseArchiveConfiguration -ConnectionString <String> [<CommonParameters>]
参数 描述

Database

要检索其存档配置的主要数据库的名称。仅当指定连接字符串时才是可选的。

Server

承载主要监控数据库的 SQL Server 的名称。可选,如果未指定此参数则默认为本地计算机。

ConnectionString

主要监控数据库的连接字符串。仅当指定数据库和指定服务器或者默认为本地计算机时才是可选的。

Remove-ASMonitoringSqlDatabaseArchiveConfiguration

语法 1:

Remove-MonitoringDatabaseArchiveConfiguration [-Database <String>] [–Server <String>] [-Confirm <Switch>][-ConnectionString<String>]
参数 描述

Database

要检索其存档配置的主要数据库的名称。仅当指定连接字符串时才是可选的。

Server

承载主要监控数据库的 SQL Server 的名称。可选,如果未指定此参数则默认为本地计算机。

Confirm

指定后,用户必须确认删除链接。

ConnectionString

主要监控数据库的连接字符串。仅当指定数据库参数和指定服务器或者默认为本地计算机时才是可选的。

示例

以下示例为主要监控数据库 ApplicationServerMonitoring 删除存档配置。

Remove-MonitoringDatabaseArchiveConfiguration –Database “ApplicationServerMonitoring”

清除和存档监控存储

可以使用 Clear-ASMonitoringSqlDatabase cmdlet 清除监控数据库中的数据,或者,可以将清除的数据定向到远程存档目标监控数据库。

Clear-ASMonitoringSqlDatabase

语法 1:

Clear-ASMonitoringSqlDatabase -Database <String> [-Archive] [-CutoffTime <DateTime>] [-MaxAge <TimeSpan>] [-PurgeMode {<EventAgeMode | None | WFInstanceCompletedMode}] [-Server <String>] [<CommonParameters> [-WhatIf]]

语法 2:

Clear-ASMonitoringSqlDatabase -ConnectionString <String> [-Archive] [-CutoffTime <DateTime>] [-MaxAge <TimeSpan>] [-PurgeMode {<EventAgeMode | None | WFInstanceCompletedMode>}] [-WhatIf] [<CommonParameters>]
参数 描述

Database

要清除的数据库的名称。仅当指定 ConnectionString 时才是可选的。

ConnectionString

要清除的数据库的连接字符串。如果指定 DatabaseServer,则为可选。

Archive

首先将要清除的数据存档到预配置的(使用 Set-ASMonitoringSqlDatabaseArchiveConfiguration)存档数据库。可选。

CutoffTime

将清除截止时间之前发出的数据库中的所有事件。当在 WFInstanceCompletedMode 中时,将会保留与活动实例相关的 WF 事件。此参数为可选参数,并且未指定该参数时,其值通过当前时间减去 MaxAge 参数进行计算。

MaxAge

事件在适合基于时间的清除之前已处于监控数据库中的时间。此参数为可选参数并且默认值为 0。

PurgeMode

确定完成清除的方式。有两个选项:

  • EventAgeMode – 清除所有的 WCF 和 WF 事件以及 WF 实例记录,不论这些实例是否已完成。仅根据事件的年龄保留或删除事件。

  • WFInstanceCompletedMode – 按事件年龄清除所有事件,但排除 WF 实例和与活动实例相关的活动事件。在此模式下,将删除已完成的实例记录和相应的活动事件。

    可选,默认为 EventAgeMode

Server

托管要清除的数据库的服务器名称。可选,如果未提供,则默认为本地服务器。

示例

这是一个简单的示例,显示如何存档和清除与已完成的实例相关的事件。此示例将清除位于本地服务器上的 ContosoDatabase 监控数据库。

Clear-ASMonitoringSqlDatabase –Database “ContosoDatabase” –PurgeMode “WFInstanceCompletedMode” –Archive

清除暂留存储中的过时实例

从 Web 场的所有计算机中删除的服务实例可能仍会保留在暂留存储中,并干扰暂留存储查询。如果从网络中删除计算机,则链接到该已删除计算机的暂留实例仍作为过时实例保留在暂留存储中。Remove-ASAppServiceInstance cmdlet 提供清除这些过时实例的功能。

Remove-ASAppServiceInstance

语法 1:

Remove-ASAppServiceInstance -Database <String> -InstanceId <Guid> [-Confirm] [-Force] [-Server <String>] [-WhatIf] [<CommonParameters>]

语法 2:

Remove-ASAppServiceInstance -ConnectionString <String> [-Confirm] [-Force] [-WhatIf] [<CommonParameters>]

语法 3:

Remove-ASAppServiceInstance -ServiceInstanceInfo <InstanceInfo> [-Confirm] [-Force] [-WhatIf] [<CommonParameters>]
参数 描述

Database

要清除的暂留存储的名称。除非指定 ConnectionString,否则为必需参数。

InstanceId

GUID 形式的服务实例 ID。

Confirm

清除服务实例之前要求用户确认操作。不能与 Force 一起使用。

Force

强制执行操作,无需用户确认。不能与 Confirm 一起使用。

Server

托管 Database 的 SQL Server 的名称。可选,默认为本地服务器。

WhatIf

连接到存储但不实际清除服务实例数据。

ConnectionString

到要清除的暂留存储的连接字符串。可选,可用于代替 DatabaseServer

ServiceInstanceInfo

另请参阅

概念

数据库管理

  2011-12-05