分享方式:


封存與清除資料庫

本節說明如何在 Microsoft AppFabric 1.1 for Windows Server 中封存和清除監控儲存區 (預設名稱為 ApplicationServerMonitoring),或是只清除持續性儲存區 (預設名稱為 ApplicationServerPersistence)。 監控或持續性儲存區會隨著其大小不斷成長,累積大量資料。為了讓效能維持在最佳狀態,您會想要根據特定條件封存較舊的監控資料,或分別從 AppFabric 監控或持續性儲存區清除任何過時的執行個體持續性資料。

使用 AppFabric,您只能利用隨附於 AppFabric 且特別對此工作設計的 Windows PowerShell Cmdlet,來封存和清除儲存區。 封存的資料只適用於監控儲存區的內容。 因為監控資料的本質為歷程記錄,而且「AppFabric 儀表板」會在 [追蹤的事件] 頁面的 [WCF 呼叫歷程記錄] 區段以及 [追蹤的 WF 執行個體] 頁面的 [WF 執行個體歷程記錄] 區段中顯示歷程記錄監控衡量標準,所以才值得封存監控資料。 但是,在 [持續性 WF 執行個體] 頁面的 [持續性 WF 執行個體] 區段中顯示的衡量標準,則是目前持續性工作流程執行個體的即時資料。 若封存持續性工作流程執行個體資訊,稍後在這些工作流程執行個體完成後且不再存在時,再檢視這些資訊,並無法提供非常有用的資訊。 因此,所有與封存相關的 Cmdlet 只適用於監控儲存區。 清除 Cmdlet 功能則適用於監控與持續性儲存區。AppFabric 自動資料儲存區清除功能只是用於使用 Microsoft SQL Server 來儲存監控資料的 AppFabric 安裝。監控儲存區是具有自動清除功能的唯一 AppFabric 資料庫。 您無法為持續性儲存區設定自動清除功能。

用於清除和封存資料庫的 Cmdlet

下列 AppFabric Windows PowerShell 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

主要監控資料庫的連接字串。 若已指定 Database 與 Server,則此為選擇性參數;否則預設會使用本機電腦。

Remove-ASMonitoringSqlDatabaseArchiveConfiguration

語法 1:

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

Database

要擷取其封存組態的主要資料庫名稱。 若指定連接字串,則此為選擇性參數。

Server

主控主要監控資料庫的 SQL Server 名稱。 可省略;若未指定此參數,預設會使用本機電腦。

Confirm

指定時,使用者必須確認移除連結的操作。

ConnectionString

主要監控資料庫的連接字串。 若指定 Database 參數與 Server 參數時,則此為選擇性參數;否則預設會使用本機電腦。

範例

下列範例會移除主要監控資料庫 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 格式的服務執行個體識別碼。

Confirm

在清除服務執行個體之前,要求使用者確認該操作。 不得搭配 Force 使用。

Force

不需使用者確認,即強制執行操作。 不得搭配 Confirm 使用。

Server

主控 Database 的 SQL Server 名稱。 可省略;預設為本機伺服器。

WhatIf

連接至儲存區,但不實際清除服務執行個體資料。

ConnectionString

要清除之持續性儲存區的連接字串。 可省略;可用來取代 DatabaseServer

ServiceInstanceInfo

另請參閱

概念

資料庫管理

  2012-03-05