自動清除資料庫
Windows Server AppFabric 自動清除功能的目的是自動和定期檢查磁碟上 AppFabric 監控資料庫的成長,以及視需要降低其磁碟使用量。這樣可確保監控資料庫成長會受到控制,而且不會耗用磁碟上過多的空間。此功能可在資料庫達到所設定的限制時,刪除最舊的事件來為最新的事件提供空間,基本上就是將資料庫轉化成循環緩衝區。包括「Windows 事件追蹤」(ETW) 在內的許多記錄機制都採用循環緩衝區方法。若無自動清除功能,系統管理員必須定期使用內建的資料庫清除與封存功能,才可確保資料庫不會過度成長及耗用磁碟上過多的空間。如需手動清除與封存功能的詳細資訊,請參閱封存與清除資料庫。
當資料庫達到設定的閾值大小,或資料庫中儲存的事件已達設定的時間時,您若想要將某百分比的最舊事件清除,自動資料庫清除功能非常實用。設定這些值對於有效地管理磁碟空間非常有幫助。自動清除功能可釋放磁碟上的存放空間,以供儲存新的監控事件。根據預設值,AppFabric 使用者一律可存取約 1.5 GB (預設大小) 的最新監控資料。此外,資料取用者可查詢資料庫中的操作資料表,判斷何時會進行清除操作。
設定自動清除功能
自動清除操作是由 SQL Server 預存程序驅動,而此預存程序是 AppFabric 在安裝期間初始化 ApplicationServerMonitoring 資料庫時安裝。此預存程序會定期執行,並讀取您在 Dbo.ConfigurationPropertiesTable 資料表中設定的值,來驅動自動清除操作的邏輯。AppFabric 內並無可用以設定此資料表的使用者介面。您可以使用 SQL Server Management Studio 直接修改下表中描述的值,以指定符合資料庫清除需求的適當設定。
資料行名稱 | 資料行類型 | 預設值 | 描述 |
---|---|---|---|
ArchiveServer |
Nvarchar(128) |
NULL |
主控監控資料庫的 SQL Server 名稱。此資料庫將用來封存監控資料。 |
ArchiveDatabase |
Nvarchar(128) |
NULL |
監控資料庫的名稱。此資料庫將用來封存監控資料。 |
APEnabled |
bit |
1 |
啟用或停用監控資料的自動清除功能。設為 1 時,資料庫將會根據其他自動清除組態屬性來自動清除資料。 |
APThreshold |
int |
1500 |
只有當 APEnabled 設為 1 時,才會讀取此屬性。當資料庫大小超過此閾值 (約略估算的 MB 數),即會使用自動清除功能,並根據 APTrimPercentage 組態屬性刪除監控資料。 |
APMaxEventAge |
float |
NULL |
只有當 APEnabled 設為 1 時,才會讀取此屬性。資料庫中比此屬性值 (天數) 舊的任何監控事件都會被刪除。 |
APTrimPercentage |
int |
10 |
只有當 APEnabled 設為 1 時,才會讀取此屬性。當使用 APThreshold 清除機制時,大約會清除百分之 APTrimPercantage 的最舊監控資料,以容納新的資料。此屬性的預設值為百分之 10。 |
當符合清除條件並觸發預存程序時,最舊的事件就會清除。如果在進行定期觸發的預存程序時發現特定監控資料庫磁碟上的大小超過 APThreshold 值,就會以最新的資料庫項目覆寫某百分比 (APTrimPercentage 值) 的最舊項目。此外,如果在進行定期觸發的預存程序時發現事件比 APMaxEventAge 更舊,那些事件也會被刪除。
注意
目前要清除的資料庫磁碟大小與資料量都是根據組態屬性約略估算。AppFabric「大約」會移除資料庫中百分之 X 的最舊事件。資料庫的實際成長限制取決於硬體與事件輸送量。
注意
AppFabric 自動資料庫清除功能只適用於使用 Microsoft SQL Server 來儲存監控資料庫的 AppFabric 安裝。此外,監控資料庫是具有自動清除功能的唯一 AppFabric 資料庫。您無法為持續性資料庫設定自動清除功能。
另請參閱
概念
2011-12-05