Änderung des Datenbankspeicherplatzes in \%

Microsoft.SQLServer.2012.Database.DBSizePercentageChangeMonitor (UnitMonitor)

Überwacht, ob sich der Wert für den verfügbaren Datenbankspeicherplatz innerhalb einer festgelegten Anzahl von Beispielzeiträumen signifikant ändert.

Knowledge Base article:

Zusammenfassung

Überwacht, ob sich der Wert für den verfügbaren Datenbankspeicherplatz innerhalb einer festgelegten Anzahl von Beispielzeiträumen signifikant ändert. Eine schnelle und umfangreiche Änderung in Werten kann auf ein Problem hinweisen.

Ursachen

Ein fehlerhafter Status wird verursacht, wenn sich der Wert für den verfügbaren Speicherplatz innerhalb einer festgelegten Anzahl von Beispielzeiträumen signifikant ändert. Mögliche Ursache:

Verwenden Sie folgenden Link, um die Leistungsdaten anzuzeigen: Datenbankleistungsdaten

Dieser Monitor aggregiert den verfügbaren Speicherplatz für jede Datei innerhalb einer Dateigruppe, abhängig von der Konfiguration der jeweiligen Datei:

Keine automatische Vergrößerung

Für eine Datei, für die keine automatische Vergrößerung festgelegt ist, wird der verfügbare Speicherplatz aus der Differenz zwischen der anfänglichen Größe einer Datei und dem verwendeten Speicherplatz gebildet.

Automatische Vergrößerung aktiviert

Neben der Differenz zwischen der Dateigröße und dem verwendeten Speicherplatz wird der verfügbare Speicherplatz für Dateien mit aktivierter automatischer Vergrößerung aus dem Minimum der Differenz zwischen der maximalen Größe und der Dateigröße oder der Differenz zwischen der maximalen Größe und dem auf dem Datenträger verbleibenden freien Speicherplatz berechnet.

Bei den Berechnungen für den verfügbaren Speicherplatz wird auch berücksichtigt, dass die Dateigröße möglicherweise überhaupt nicht zunimmt, wenn die Größenzunahme der Datei den auf dem Datenträger verbleibenden Speicherplatz überschreitet. Zudem wird berücksichtigt, dass die Dateigröße nicht zunehmen kann, wenn die Differenz zwischen der maximalen Größe und der aktuellen Größe kleiner ist als die Größenzunahme. In diesen Situationen wird der auf dem Datenträger verbleibende freie Speicherplatz nicht als Teil des verfügbaren Speicherplatzes eingeschlossen, da keine weitere Größenzunahme möglich ist.

Lösungen

Dieses Problem können Sie möglicherweise durch eine der folgenden Aktionen beheben:

Element properties:

TargetMicrosoft.SQLServer.2012.Database
Parent MonitorMicrosoft.SQLServer.2012.Database.DBSpaceMonitor
CategoryPerformanceHealth
EnabledFalse
Alert GenerateTrue
Alert SeverityMatchMonitorHealth
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SQLServer.2012.DBPercentageChange
RemotableTrue
AccessibilityPublic
Alert Message
Signifikante Änderung des insgesamt freien Datenbankspeicherplatzes in Prozent
Bei der Datenbank {0} in SQL-Instanz {1} auf Computer {2} hat sich der freie Speicherplatz signifikant geändert. Ausführliche Informationen finden Sie auf der Registerkarte "Warnungskontext".
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.SQLServer.2012.Database.DBSizePercentageChangeMonitor" Accessibility="Public" Enabled="false" Target="SQL2012Core!Microsoft.SQLServer.2012.Database" ParentMonitorID="Microsoft.SQLServer.2012.Database.DBSpaceMonitor" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.2012.DBPercentageChange" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2012.Database.DBSizePercentageChangeMonitor.AlertMessage">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</AlertParameter1>
<AlertParameter2>$Target/Host/Property[Type="SQL!Microsoft.SQLServer.ServerRole"]/InstanceName$</AlertParameter2>
<AlertParameter3>$Target/Property[Type="SQL!Microsoft.SQLServer.Database"]/DatabaseName$</AlertParameter3>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="UnderThreshold1" MonitorTypeStateID="UnderThreshold1" HealthState="Success"/>
<OperationalState ID="OverThreshold1UnderThreshold2" MonitorTypeStateID="OverThreshold1UnderThreshold2" HealthState="Warning"/>
<OperationalState ID="OverThreshold2" MonitorTypeStateID="OverThreshold2" HealthState="Error"/>
</OperationalStates>
<Configuration>
<IntervalSeconds>900</IntervalSeconds>
<SyncTime/>
<ConnectionString>$Target/Host/Property[Type="SQL!Microsoft.SQLServer.DBEngine"]/ConnectionString$</ConnectionString>
<ServerName>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ServerName>
<SqlInstanceName>$Target/Host/Property[Type="SQL!Microsoft.SQLServer.ServerRole"]/InstanceName$</SqlInstanceName>
<ObjectName>$Target/Host/Property[Type="SQL!Microsoft.SQLServer.DBEngine"]/PerformanceCounterObject$:Database</ObjectName>
<CounterName>DB Total Free Space (%)</CounterName>
<InstanceName/>
<DatabaseName>$Target/Property[Type="SQL!Microsoft.SQLServer.Database"]/DatabaseName$</DatabaseName>
<Value>$Data/Property[@Name='DBFreeSpacePercent']$</Value>
<Threshold1>25</Threshold1>
<Threshold2>45</Threshold2>
<NumSamples>5</NumSamples>
<TimeoutSeconds>300</TimeoutSeconds>
</Configuration>
</UnitMonitor>