SSAS 2012: Collect Total Drive Size (GB)

Microsoft.SQLServer.2012.AnalysisServices.PerformanceRule.TabularDatabase.TotalDriveSize (Rule)

The rule collects the total size in gigabytes of the drive where the database storage folder is located.

Knowledge Base article:

Summary

The rule collects the total size in gigabytes of the drive where the database storage folder is located.

Element properties:

TargetMicrosoft.SQLServer.2012.AnalysisServices.TabularDatabase
CategoryPerformanceCollection
EnabledTrue
Alert GenerateFalse
RemotableTrue

Member Modules:

ID Module Type TypeId RunAs 
DS DataSource Microsoft.SQLServer.2012.AnalysisServices.DataSource.DatabaseSpace Microsoft.SQLServer.2012.AnalysisServices.RunAsProfile.ASMonitoring
Mapper ConditionDetection System.Performance.DataGenericMapper Default
WriteToDatabase WriteAction Microsoft.SystemCenter.CollectPerformanceData Microsoft.SQLServer.2012.AnalysisServices.RunAsProfile.ASMonitoring
WriteToDW WriteAction Microsoft.SystemCenter.DataWarehouse.PublishPerformanceData Microsoft.SQLServer.2012.AnalysisServices.RunAsProfile.ASMonitoring

Source Code:

<Rule ID="Microsoft.SQLServer.2012.AnalysisServices.PerformanceRule.TabularDatabase.TotalDriveSize" Enabled="true" Target="SQLAS!Microsoft.SQLServer.2012.AnalysisServices.TabularDatabase" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
<Category>PerformanceCollection</Category>
<DataSources>
<DataSource ID="DS" TypeID="Microsoft.SQLServer.2012.AnalysisServices.DataSource.DatabaseSpace" RunAs="SQLAS!Microsoft.SQLServer.2012.AnalysisServices.RunAsProfile.ASMonitoring">
<ServiceName>$Target/Host/Property[Type='SQLAS!Microsoft.SQLServer.2012.AnalysisServices.Instance']/ServiceName$</ServiceName>
<DatabaseName>$Target/Property[Type="SQLAS!Microsoft.SQLServer.2012.AnalysisServices.Database"]/DatabaseName$</DatabaseName>
<ConnectionString>$Target/Host/Property[Type='SQLAS!Microsoft.SQLServer.2012.AnalysisServices.Instance']/ConnectionString$</ConnectionString>
<DataDir>$Target/Host/Property[Type='SQLAS!Microsoft.SQLServer.2012.AnalysisServices.Instance']/DataDir$</DataDir>
<IntervalSeconds>900</IntervalSeconds>
<SyncTime/>
</DataSource>
</DataSources>
<ConditionDetection ID="Mapper" TypeID="SystemPerf!System.Performance.DataGenericMapper">
<ObjectName>Tabular Database</ObjectName>
<CounterName>Total Drive Size (GB)</CounterName>
<InstanceName>$Target/Property[Type="SQLAS!Microsoft.SQLServer.2012.AnalysisServices.Database"]/DatabaseName$</InstanceName>
<Value>$Data/Property[@Name='TotalOnDatabaseDriveGB']$</Value>
</ConditionDetection>
<WriteActions>
<WriteAction ID="WriteToDatabase" TypeID="SC!Microsoft.SystemCenter.CollectPerformanceData" RunAs="SQLAS!Microsoft.SQLServer.2012.AnalysisServices.RunAsProfile.ASMonitoring"/>
<WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishPerformanceData" RunAs="SQLAS!Microsoft.SQLServer.2012.AnalysisServices.RunAsProfile.ASMonitoring"/>
</WriteActions>
</Rule>