Speicherplatz in Datenbankdatei

Microsoft.SQLServer.2012.Monitoring.DBFileSpaceMonitor (UnitMonitor)

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

Knowledge Base article:

Zusammenfassung

Überwacht den verfügbaren Speicherplatz in einer Datei und auf dem Medium, auf dem die Datei gehostet wird. Der verfügbare Speicherplatz auf dem Medium, auf dem die Datei gehostet wird, wird nur dann als Teil des verfügbaren Speicherplatzes einbezogen, wenn die automatische Vergrößerung für diese Datei aktiviert ist.

Ursachen

Der fehlerhafte Zustand wird durch wenig verfügbaren Speicherplatz für diese Datei verursacht. Mögliche Ursachen von wenig freiem Speicherplatz:

Verwenden Sie den folgenden Link, um die Leistungsdaten anzuzeigen: Leistungsdaten zum freien Speicherplatz in DB-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

Wenn die automatische Vergrößerung aktiviert ist, wird der verfügbare Speicherplatz als Teil des insgesamt verfügbaren Speicherplatzes einbezogen. Neben der Differenz zwischen der Dateigröße und dem verwendeten Speicherplatz wird der freie Speicherplatz für Dateien mit aktivierter automatischer Vergrößerung aus der Mindestdifferenz zwischen der maximalen Größe und der Dateigröße oder aus der Mindestdifferenz 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, bei denen 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 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:

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

Überschreibbare Parameter

Name

Beschreibung

Standardwert

Aktiviert

Aktiviert oder deaktiviert den Workflow.

Ja

Generiert Warnungen.

Definiert, ob der Workflow eine Warnung generiert.

Nein

Intervall (Sekunden)

Das wiederkehrende Zeitintervall in Sekunden, in dem der Workflow ausgeführt wird.

900

Unterer Schwellenwert

Der untere Schwellenwert für diesen Monitor.

10

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

Oberer Schwellenwert

Der obere Schwellenwert für diesen Monitor.

20

Element properties:

TargetMicrosoft.SQLServer.2012.DBFile
Parent MonitorSystem.Health.PerformanceState
CategoryPerformanceHealth
EnabledTrue
Alert GenerateFalse
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SQLServer.2012.DBFileSizeMonitorType
RemotableTrue
AccessibilityPublic
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.SQLServer.2012.Monitoring.DBFileSpaceMonitor" Accessibility="Public" Enabled="true" Target="SQL2012Core!Microsoft.SQLServer.2012.DBFile" ParentMonitorID="SystemHealth!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.2012.DBFileSizeMonitorType" ConfirmDelivery="true">
<Category>PerformanceHealth</Category>
<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/Host/Host/Property[Type="SQL!Microsoft.SQLServer.DBEngine"]/ConnectionString$</ConnectionString>
<ServerName>$Target/Host/Host/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ServerName>
<SqlInstanceName>$Target/Host/Host/Host/Property[Type="SQL!Microsoft.SQLServer.ServerRole"]/InstanceName$</SqlInstanceName>
<ObjectName>$Target/Host/Host/Host/Property[Type="SQL!Microsoft.SQLServer.DBEngine"]/PerformanceCounterObject$ : Database : DB File</ObjectName>
<CounterName>DB File Free Space (%)</CounterName>
<InstanceName/>
<DatabaseName>$Target/Host/Host/Property[Type="SQL!Microsoft.SQLServer.Database"]/DatabaseName$</DatabaseName>
<DBFileId>$Target/Property[Type="SQL!Microsoft.SQLServer.DBFile"]/FileID$</DBFileId>
<Value>$Data/Property[@Name='FreeSpacePercent']$</Value>
<Threshold1>10</Threshold1>
<Threshold2>20</Threshold2>
<TimeoutSeconds>300</TimeoutSeconds>
</Configuration>
</UnitMonitor>