Gesamter Datenbankspeicherplatz

Microsoft.SQLServer.2005.Database.DBSizePercentMonitor (UnitMonitor)

Überwacht den verfügbaren Speicherplatz in der Datenbank und auf dem Medium, auf dem die Datenbank gehostet wird (in Prozent).

Knowledge Base article:

Zusammenfassung

Überwacht den verfügbaren Speicherplatz in der Datenbank und auf dem Medium, auf dem die Datenbank gehostet wird. Der verfügbare Speicherplatz auf dem Medium, auf dem die Datenbank gehostet wird, wird nur als Teil des verfügbaren Speicherplatzes eingeschlossen, wenn die automatische Vergrößerung für mindestens eine der Dateien aktiviert ist.

Ursachen

Ein fehlerhafter Status wird durch zu wenig verfügbaren Speicherplatz in allen Datenbankdateien verursacht. Mögliche Ursachen von zu wenig verfügbarem Speicherplatz:

Verwenden Sie die folgenden Links, um die Leistungsdaten anzuzeigen: Datenbankleistungsdaten

Dieser Monitor aggregiert den verfügbaren Speicherplatz für jede Datei innerhalb einer Datenbank, 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.

Wenn für Datenbankdateien mit aktivierter automatischer Vergrößerung zu wenig Speicherplatz verfügbar ist, kann dies bedeuten, dass die Datei sich den Grenzen des logischen Laufwerks nähert, das als Host fungiert. Für Dateien, für die die automatische Vergrößerung mit einer maximalen Größe aktiviert ist, kann ein geringer verfügbarer Speicherplatz auch bedeuten, dass sich die Datei der maximalen Größe annähert, die für eine Datei angegeben ist.

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:

In der SQL Server-Onlinedokumentation finden Sie weitere Informationen: Architektur von Dateien und Dateigruppen

Element properties:

TargetMicrosoft.SQLServer.2005.Database
Parent MonitorMicrosoft.SQLServer.2005.Database.DBSpaceMonitor
CategoryPerformanceHealth
EnabledFalse
Alert GenerateTrue
Alert SeverityMatchMonitorHealth
Alert PriorityHigh
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SQLServer.2005.DBAndLogSizeMonitorType
RemotableTrue
AccessibilityPublic
Alert Message
Datenbankspeicherplatz erschöpft
In der Datenbank "{0}" in SQL-Instanz "{1}" auf Computer "{2}" ist nur noch wenig Speicherplatz verfügbar. Ausführliche Informationen finden Sie auf der Registerkarte "Warnungskontext".
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.SQLServer.2005.Database.DBSizePercentMonitor" Accessibility="Public" Enabled="false" Target="SQL2005Core!Microsoft.SQLServer.2005.Database" ParentMonitorID="Microsoft.SQLServer.2005.Database.DBSpaceMonitor" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.2005.DBAndLogSizeMonitorType" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2005.Database.DBSizePercentMonitor.AlertMessage">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>High</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="SQL!Microsoft.SQLServer.Database"]/DatabaseName$</AlertParameter1>
<AlertParameter2>$Target/Host/Property[Type="SQL!Microsoft.SQLServer.ServerRole"]/InstanceName$</AlertParameter2>
<AlertParameter3>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</AlertParameter3>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="UnderThreshold1" MonitorTypeStateID="UnderThreshold1" HealthState="Error"/>
<OperationalState ID="OverThreshold1UnderThreshold2" MonitorTypeStateID="OverThreshold1UnderThreshold2" HealthState="Warning"/>
<OperationalState ID="OverThreshold2" MonitorTypeStateID="OverThreshold2" HealthState="Success"/>
</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>$Data/Property[@Name='Database']$</InstanceName>
<DatabaseName>$Target/Property[Type="SQL!Microsoft.SQLServer.Database"]/DatabaseName$</DatabaseName>
<Value>$Data/Property[@Name='DBFreeSpacePercent']$</Value>
<Threshold1>10</Threshold1>
<Threshold2>20</Threshold2>
<TimeoutSeconds>300</TimeoutSeconds>
</Configuration>
</UnitMonitor>