MSSQL 2016: DB 트랜잭션 로그 사용 가능한 공간(\%) 성능 모니터 유형

Microsoft.SQLServer.2016.Database.TransactionLogSpaceFreePercent.MonitorType (UnitMonitorType)

2016 DB의 트랜잭션 로그 사용 가능한 공간(\%) 모니터 유형

Element properties:

RunAsMicrosoft.SQLServer.MonitoringAccount
AccessibilityInternal
Support Monitor RecalculateFalse

Member Modules:

ID Module Type TypeId RunAs 
DS DataSource Microsoft.SQLServer.2016.DBSizeRawProvider Default
CSC ConditionDetection System.Performance.ConsecutiveSamplesCondition Default
ErrorCondition ConditionDetection System.ExpressionFilter Default
NormalCondition ConditionDetection System.ExpressionFilter Default
PerfMapper ConditionDetection System.Performance.DataGenericMapper Default

Overrideable Parameters:

IDParameterTypeSelectorDisplay NameDescription
IntervalSecondsint$Config/IntervalSeconds$간격(초)워크플로를 실행하는 반복 시간 간격(초)입니다.
TimeoutSecondsint$Config/TimeoutSeconds$제한 시간(초)워크플로를 닫고 실패로 표시하기 전에 워크플로를 실행할 수 있는 시간을 지정합니다.
Thresholdint$Config/Threshold$임계값수집된 값이 이 매개 변수와 비교됩니다.
AzureMaxFileSizeMBint$Config/AzureMaxFileSizeMB$Azure 최대 파일 크기(MB)Azure BLOB Storage에 저장되는 데이터 파일의 최대 크기입니다. 워크플로는 이 값을 각 파일의 최대 저장 용량으로 간주합니다.
NumSamplesint$Config/NumSamples$샘플 수상태가 변경되기 전 측정된 값이 임계값을 위반한 횟수를 나타냅니다.

Source Code:

<UnitMonitorType ID="Microsoft.SQLServer.2016.Database.TransactionLogSpaceFreePercent.MonitorType" Accessibility="Internal" RunAs="GPMP!Microsoft.SQLServer.MonitoringAccount">
<MonitorTypeStates>
<MonitorTypeState ID="Normal"/>
<MonitorTypeState ID="Error"/>
</MonitorTypeStates>
<Configuration>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="IntervalSeconds" type="xsd:integer"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="TimeoutSeconds" type="xsd:int"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="Threshold" type="xsd:integer"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="ConnectionString" type="xsd:string"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="ServerName" type="xsd:string"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="SqlInstanceName" type="xsd:string"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="DatabaseName" type="xsd:string"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="AzureMaxFileSizeMB" type="xsd:int"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="NumSamples" type="xsd:integer"/>
</Configuration>
<OverrideableParameters>
<OverrideableParameter ID="IntervalSeconds" Selector="$Config/IntervalSeconds$" ParameterType="int"/>
<OverrideableParameter ID="TimeoutSeconds" Selector="$Config/TimeoutSeconds$" ParameterType="int"/>
<OverrideableParameter ID="Threshold" Selector="$Config/Threshold$" ParameterType="int"/>
<OverrideableParameter ID="AzureMaxFileSizeMB" ParameterType="int" Selector="$Config/AzureMaxFileSizeMB$"/>
<OverrideableParameter ID="NumSamples" Selector="$Config/NumSamples$" ParameterType="int"/>
</OverrideableParameters>
<MonitorImplementation>
<MemberModules>
<DataSource ID="DS" TypeID="Microsoft.SQLServer.2016.DBSizeRawProvider">
<IntervalSeconds>$Config/IntervalSeconds$</IntervalSeconds>
<SyncTime/>
<ConnectionString>$Config/ConnectionString$</ConnectionString>
<ServerName>$Config/ServerName$</ServerName>
<SqlInstanceName>$Config/SqlInstanceName$</SqlInstanceName>
<DatabaseName>$Config/DatabaseName$</DatabaseName>
<TimeoutSeconds>$Config/TimeoutSeconds$</TimeoutSeconds>
<AzureMaxFileSizeMB>$Config/AzureMaxFileSizeMB$</AzureMaxFileSizeMB>
</DataSource>
<ConditionDetection ID="CSC" TypeID="SystemPerf!System.Performance.ConsecutiveSamplesCondition">
<Threshold>$Config/Threshold$</Threshold>
<Direction>lessequal</Direction>
</ConditionDetection>
<ConditionDetection ID="NormalCondition" TypeID="System!System.ExpressionFilter">
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="Double">Value</XPathQuery>
</ValueExpression>
<Operator>Less</Operator>
<ValueExpression>
<Value Type="Double">$Config/NumSamples$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</ConditionDetection>
<ConditionDetection ID="ErrorCondition" TypeID="System!System.ExpressionFilter">
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="Double">Value</XPathQuery>
</ValueExpression>
<Operator>GreaterEqual</Operator>
<ValueExpression>
<Value Type="Double">$Config/NumSamples$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</ConditionDetection>
<ConditionDetection ID="PerfMapper" TypeID="SystemPerf!System.Performance.DataGenericMapper">
<ObjectName>Database</ObjectName>
<CounterName>Free Space Percent</CounterName>
<InstanceName>$Data/Property[@Name='Database']$</InstanceName>
<Value>$Data/Property[@Name='DBLogFreeSpacePercent']$</Value>
</ConditionDetection>
</MemberModules>
<RegularDetections>
<RegularDetection MonitorTypeStateID="Normal">
<Node ID="NormalCondition">
<Node ID="CSC">
<Node ID="PerfMapper">
<Node ID="DS"/>
</Node>
</Node>
</Node>
</RegularDetection>
<RegularDetection MonitorTypeStateID="Error">
<Node ID="ErrorCondition">
<Node ID="CSC">
<Node ID="PerfMapper">
<Node ID="DS"/>
</Node>
</Node>
</Node>
</RegularDetection>
</RegularDetections>
</MonitorImplementation>
</UnitMonitorType>