Der Monitor gibt eine Warnung aus, wenn der freie Speicherplatz (einschließlich des bereits zugewiesenen Speichers und des freien Speichers auf den Medien) unter die Einstellung für den Warnungsschwellenwert fällt. Dieser Wert wird als Prozentsatz der Summe aus Datengröße und freiem Datenträgerspeicherplatz ausgedrückt. Der Monitor gibt eine kritische Warnung aus, wenn der freie Speicherplatz unter den kritischen Schwellenwert fällt.
Der Monitor prüft den verfügbaren Speicherplatz in der Datei und auf den Medien, auf denen die Datei gehostet wird. Der verfügbare Platz auf den Medien wird nur mit einbezogen, wenn die automatische Vergrößerung für die vorgegebene Datei aktiviert ist.
Ein fehlerhafter Zustand wird durch zu wenig freien Speicherplatz für diese Datei verursacht. Mögliche Ursachen von zu wenig verfügbarem Speicherplatz:
Unzureichende Dateikonfigurationseinstellungen (Größe, maximale Größe, automatische Vergrößerung usw.)
Nicht genügend verbleibender Speicherplatz auf dem Medium
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.
Dieses Problem können Sie möglicherweise durch eine der folgenden Aktionen beheben:
Erhöhen der zugeordneten Größe für eine Datei oder alle Dateien innerhalb einer Dateigruppe, falls die automatische Vergrößerung deaktiviert ist.
Erhöhen des Werts für die maximale Größe einer Datei, wenn die automatische Vergrößerung aktiviert ist
Aktivieren der automatischen Vergrößerung für mindestens eine Datei
Verschieben der Dateien zu einem anderen Laufwerk, auf dem mehr freier Speicherplatz verfügbar ist, falls der Platz für die Dateivergrößerung beschränkt ist
Ändern der Schwellenwerte für diesen Monitor zwecks Anpassung an die Arbeitsauslastung
Wenn der freie Speicherplatz in Dateigruppen für die Datenbank nicht relevant ist, haben Sie zudem folgende Möglichkeiten:
Deaktivieren Sie diesen Monitor für diese Dateigruppe oder für alle Dateigruppen.
In der SQL Server-Onlinedokumentation finden Sie weitere Informationen: Architektur von Dateien und Dateigruppen
Name | Beschreibung | Standardwert |
Warnungspriorität | Definiert die Warnungspriorität. | Normal |
Warnungsschweregrad | Definiert den Warnungsschweregrad. | Fehler |
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 Status des Monitors wechselt zu "Kritisch", wenn der Wert unter diesen Schwellenwert fällt. Wenn der Wert zwischen diesem Schwellenwert und dem Warnschwellenwert (inklusive) liegt, wechselt der Monitor zum Warnstatus. | 10 |
Aktiviert | Aktiviert oder deaktiviert den Workflow. | Ja |
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 |
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 | Der Status des Monitors wechselt zu "Warnung", wenn der Wert unter diesen Schwellenwert sinkt. | 20 |
Target | Microsoft.SQLServer.2016.DBFile | ||
Parent Monitor | System.Health.PerformanceState | ||
Category | PerformanceHealth | ||
Enabled | True | ||
Alert Generate | True | ||
Alert Severity | MatchMonitorHealth | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | Microsoft.SQLServer.2016.DBFileSizeMonitorType | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.SQLServer.2016.Monitoring.DBFileSpaceMonitor" Accessibility="Public" Enabled="true" Target="SQL2016Core!Microsoft.SQLServer.2016.DBFile" ParentMonitorID="SystemHealth!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.2016.DBFileSizeMonitorType" ConfirmDelivery="true">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2016.Monitoring.DBFileSpaceMonitor.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.File"]/FileName$</AlertParameter1>
<AlertParameter2>$Target/Host/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.FileGroup"]/GroupName$</AlertParameter2>
<AlertParameter3>$Target/Host/Host/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.Database"]/DatabaseName$</AlertParameter3>
<AlertParameter4>$Target/Host/Host/Host/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.ServerRole"]/InstanceName$</AlertParameter4>
<AlertParameter5>$Target/Host/Host/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</AlertParameter5>
<AlertParameter6>$Data/Context/Property[@Name='FreeSpaceMB']$</AlertParameter6>
<AlertParameter7>$Data/Context/Property[@Name='FreeSpacePercent']$</AlertParameter7>
</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/Host/Host/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.DBEngine"]/ConnectionString$</ConnectionString>
<ServerName>$Target/Host/Host/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ServerName>
<SqlInstanceName>$Target/Host/Host/Host/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.ServerRole"]/InstanceName$</SqlInstanceName>
<DatabaseName>$Target/Host/Host/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.Database"]/DatabaseName$</DatabaseName>
<DBFileId>$Target/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.File"]/FileID$</DBFileId>
<Threshold1>10</Threshold1>
<Threshold2>20</Threshold2>
<TimeoutSeconds>300</TimeoutSeconds>
<AzureMaxFileSizeMB>1048576</AzureMaxFileSizeMB>
</Configuration>
</UnitMonitor>