Änderung des Datenbankspeicherplatzes in \%

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

Überwacht, ob sich der freie Datenbankspeicherplatz innerhalb einer festgelegten Anzahl von Stichprobenzeiträumen signifikant ändert. Hinweis: Dieser Monitor ist standardmäßig deaktiviert. Verwenden Sie ggf. Überschreibungen, um den Monitor zu aktivieren.

Knowledge Base article:

Zusammenfassung

Überwacht, ob sich der Wert für den freien Datenbankspeicherplatz innerhalb einer festgelegten Anzahl von Stichprobenzeiträumen signifikant ändert. Eine schnelle und signifikante Änderung des Werts kann auf ein Problem hinweisen.

Ursachen

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

Rufen Sie die Leistungsdaten über folgenden Link auf: Datenbank-Leistungsdaten

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, entspricht der freie Speicherplatz der Differenz zwischen der anfänglichen Größe einer Datei und dem belegten Speicherplatz.

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 berechnet. Dieser ergibt sich 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.

Bei Berechnungen des freien Speicherplatzes wird auch berücksichtigt, dass eine Vergrößerung der Datei nicht möglich ist, 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 solchen Situationen ist der auf dem Datenträger verbleibende Speicherplatz nicht Teil des freien Speicherplatzes, da keine weitere Größenzunahme möglich ist.

Lösungen

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

Parameter, die außer Kraft gesetzt werden können

Name

Beschreibung

Standardwert

Warnungspriorität

Definiert die Warnungspriorität.

Normal

Warnungsschweregrad

Definiert den Warnungsschweregrad.

MatchMonitorHealth

Maximale Dateigröße in Azure (MB)

Die maximale Größe von Datendateien, die in Azure BLOB-Speicher gespeichert sind. Beim Workflow wird dieser Wert als maximale Speicherkapazität für jede Datei berücksichtigt.

1048576

Kritischer Schwellenwert

Der Monitor ändert seinen Status zu "Kritisch", wenn der Wert diesen Schwellenwert überschreitet. Bei Werten zwischen diesem Schwellenwert und dem Warnungsschwellenwert (einschließlich) befindet sich der Monitor im Status "Warnung".

45

Aktiviert

Aktiviert oder deaktiviert den Workflow.

Nein

Generiert Warnungen

Definiert, ob der Workflow eine Warnung generiert.

Ja

Intervall (Sekunden)

Das periodische Intervall in Sekunden, in dem der Workflow ausgeführt werden soll.

900

Anzahl der Stichproben

Gibt an, wie oft ein gemessener Wert einen Schwellenwert verletzen soll, bevor der Status geändert wird.

5

Synchronisierungszeit

Die in einem 24-Stunden-Format angegebene Synchronisierungszeit. Kann ausgelassen werden.

 

Timeout (Sekunden)

Gibt die Zeit an, die der Workflow ausgeführt werden darf, bevor er geschlossen und als fehlgeschlagen markiert wird.

300

Schwellenwert für Warnung

Warnschwellenwert. Das Überschreiten dieses Schwellenwerts führt dazu, dass der Monitor mindestens in einen Warnstatus wechselt.

25

Element properties:

TargetMicrosoft.SQLServer.2016.Database
Parent MonitorMicrosoft.SQLServer.2016.Database.DBSpaceMonitor
CategoryPerformanceHealth
EnabledFalse
Alert GenerateTrue
Alert SeverityMatchMonitorHealth
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SQLServer.2016.DBPercentageChange
RemotableTrue
AccessibilityPublic
Alert Message
MSSQL 2016: Signifikate prozentuale Änderung am freien DB-Gesamtspeicherplatz
Für die Datenbank "{2}" in der SQL-Instanz "{1}" auf dem Computer "{0}" hat sich der freie Speicherplatz erheblich geändert. Ausführliche Informationen finden Sie auf der Registerkarte "Warnungskontext".
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.SQLServer.2016.Database.DBSizePercentageChangeMonitor" Accessibility="Public" Enabled="false" Target="SQL2016Core!Microsoft.SQLServer.2016.Database" ParentMonitorID="Microsoft.SQLServer.2016.Database.DBSpaceMonitor" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.2016.DBPercentageChange" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2016.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="SQL2016Core!Microsoft.SQLServer.2016.ServerRole"]/InstanceName$</AlertParameter2>
<AlertParameter3>$Target/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.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="SQL2016Core!Microsoft.SQLServer.2016.DBEngine"]/ConnectionString$</ConnectionString>
<ServerName>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ServerName>
<SqlInstanceName>$Target/Host/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.ServerRole"]/InstanceName$</SqlInstanceName>
<ObjectName>SQL Database</ObjectName>
<CounterName>DB Available Space Total (%)</CounterName>
<InstanceName/>
<DatabaseName>$Target/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.Database"]/DatabaseName$</DatabaseName>
<Value>$Data/Property[@Name='DBFreeSpacePercent']$</Value>
<Threshold1>25</Threshold1>
<Threshold2>45</Threshold2>
<NumSamples>5</NumSamples>
<TimeoutSeconds>300</TimeoutSeconds>
<AzureMaxFileSizeMB>1048576</AzureMaxFileSizeMB>
</Configuration>
</UnitMonitor>