Der Monitor gibt eine Warnung aus, wenn der freie Speicherplatz für den speicheroptimierten Datendateigruppen-Container unter die Einstellung für den Warnungsschwellenwert fällt. Dieser Wert wird als Prozentsatz der Gesamtgröße des speicheroptimierten Datendateigruppen-Containers plus freiem Speicherplatz ausgedrückt. Wenn der freie Speicherplatz unter den kritischen Schwellenwert fällt, gibt der Monitor eine kritische Warnung aus.
Der Monitor gibt eine Warnung aus, wenn der freie Speicherplatz für den speicheroptimierten Datendateigruppen-Container unter die Einstellung für den Warnungsschwellenwert fällt. Dieser Wert wird als Prozentsatz der Gesamtgröße des speicheroptimierten Datendateigruppen-Containers plus freiem Speicherplatz ausgedrückt. Wenn der freie Speicherplatz unter den kritischen Schwellenwert fällt, gibt der Monitor eine kritische Warnung aus.
Der Ordner des speicheroptimierten Datendateigruppen-Containers nimmt normalerweise im Lauf der Zeit an Größe zu, da immer mehr Daten zu speicheroptimierten Tabellen hinzugefügt werden. Administratoren sollten den Speicherort daher überwachen, um sicherzustellen, dass genügend Speicherplatz für den Containerordner verbleibt.
Wenn auf dem Laufwerk, auf dem der Speicherort der Datenbank konfiguriert wurde, zu wenig Speicherplatz verfügbar ist, können Fehler entstehen, welche die Verarbeitung von Daten beeinträchtigen, Benutzerabfragen verzögern oder andere Anwendungen beeinträchtigen können, denen der gleiche Speicherplatz auf dem Datenträger zugewiesen ist.
Die Speicherzuweisung erfolgt im Rahmen von DML-Vorgängen in den langlebigen speicheroptimierten Tabellen. Sie müssen eine Speichermenge bis zum Vierfachen der Größe der langlebigen speicheroptimierten Daten konfigurieren. Wenn Sie den Speicher ordnungsgemäß konfiguriert haben, der Speicherplatz jedoch immer noch nicht ausreicht, können die von den Containern unterstützten IOPS-Vorgänge möglicherweise die Arbeitsauslastungsanforderungen nicht unterstützen. Allgemein wird für Container der dreifache IOPS-Wert der Datengenerierungsraten empfohlen, um die anfängliche Auffüllung der Daten-/Deltadateien und den automatischen Mergevorgang zu berücksichtigen, bei dem die Quelldaten-/Deltadateien gelesen und dann in einer Ziel-CFP zusammengeführt werden müssen.
Die Lösungen bei wenig verfügbarem Speicherplatz auf dem Datenträger sind von den jeweiligen Ursachen abhängig, die bei jedem Auftreten dieses Problems untersucht werden müssen. Zur Behebung sind zahlreiche Herangehensweisen möglich:
Verringern Sie die Menge der in speicheroptimierten Datentabellen gespeicherten Daten.
Entfernen Sie Daten, die auf dem Laufwerk mit dem speicheroptimierten Datendateigruppen-Container Speicherplatz belegen.
Fügen Sie einen weiteren Container in die speicheroptimierte Datendateigruppe ein.
Vergrößern Sie mithilfe der Datenträgerverwaltung das logische Laufwerk, auf dem der Ordner des speicheroptimierten Datendateigruppen-Containers gespeichert ist.
Kopieren Sie den Ordner des speicheroptimierten Datendateigruppen-Containers vollständig auf ein neues Laufwerk, auf dem mehr Speicherplatz verfügbar ist.
Ändern Sie die Schwellenwerte entsprechend der erwarteten Arbeitsauslastung und entsprechend den Bedingungen in der Umgebung.
Deaktivieren Sie den Monitor ganz, wenn der Speicherplatz auf dem Datenträger für die Instanz nicht relevant ist.
Name | Beschreibung | Standardwert |
Warnungspriorität | Definiert die Warnungspriorität. | Normal |
Warnungsschweregrad | Definiert den Warnungsschweregrad. | Fehler |
Kritischer Schwellenwert | Der Status des Monitors wechselt zu "Kritisch", wenn der Wert unter diesen Schwellenwert sinkt. | 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 |
Skriptverzögerung (Millisekunden) | Über diesen Parameter wird die Verzögerung zwischen aufeinanderfolgenden T-SQL-Abfragen festgelegt, die durch den Workflow ausgeführt werden. Dadurch lässt sich die Ressourcenbeanspruchung durch diesen Workflow bei einer großen Anzahl an Zielobjekten reduzieren. Halten Sie Rücksprache mit dem Microsoft-Support, bevor Sie diesen Parameter ändern. | 0 |
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.2014.Container | ||
Parent Monitor | System.Health.PerformanceState | ||
Category | PerformanceHealth | ||
Enabled | True | ||
Alert Generate | True | ||
Alert Severity | Error | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | Microsoft.SQLServer.2014.MonitorType.Container.FreeSpacePercent | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.SQLServer.2014.Monitor.Container.FreeSpacePercent" Target="SQL2014Core!Microsoft.SQLServer.2014.Container" ParentMonitorID="SystemHealth!System.Health.PerformanceState" TypeID="Microsoft.SQLServer.2014.MonitorType.Container.FreeSpacePercent" Accessibility="Public" Enabled="true" Remotable="true" Priority="Normal" ConfirmDelivery="true">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2014.Monitor.Container.FreeSpacePercent.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="SQL2014Core!Microsoft.SQLServer.2014.Container"]/ContainerName$</AlertParameter1>
<AlertParameter2>$Target/Host/Property[Type="SQL2014Core!Microsoft.SQLServer.2014.FileGroup"]/GroupName$</AlertParameter2>
<AlertParameter3>$Target/Host/Host/Property[Type="SQL2014Core!Microsoft.SQLServer.2014.Database"]/DatabaseName$</AlertParameter3>
<AlertParameter4>$Target/Host/Host/Host/Property[Type="SQL2014Core!Microsoft.SQLServer.2014.ServerRole"]/InstanceName$</AlertParameter4>
<AlertParameter5>$Target/Host/Host/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</AlertParameter5>
<AlertParameter6>$Target/Property[Type="SQL2014Core!Microsoft.SQLServer.2014.Container"]/ContainerStorage$</AlertParameter6>
<AlertParameter7>$Data/Context/Property[@Name='DriveTotalSizeMB']$</AlertParameter7>
<AlertParameter8>$Data/Context/Property[@Name='FreeSpacePercent']$</AlertParameter8>
<AlertParameter9>$Data/Context/Property[@Name='FreeSpaceSpaceMB']$</AlertParameter9>
<AlertParameter10>$Data/Context/Property[@Name='AllocatedSizeMB']$</AlertParameter10>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="Critical" MonitorTypeStateID="ContainerFreeSpaceCritical" HealthState="Error"/>
<OperationalState ID="Warning" MonitorTypeStateID="ContainerFreeSpaceWarning" HealthState="Warning"/>
<OperationalState ID="Success" MonitorTypeStateID="ContainerFreeSpaceSuccess" HealthState="Success"/>
</OperationalStates>
<Configuration>
<IntervalSeconds>900</IntervalSeconds>
<SyncTime/>
<ConnectionString>$Target/Host/Host/Host/Property[Type="SQL2014Core!Microsoft.SQLServer.2014.DBEngine"]/ConnectionString$</ConnectionString>
<ServerName>$Target/Host/Host/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ServerName>
<SqlInstanceName>$Target/Host/Host/Host/Property[Type="SQL2014Core!Microsoft.SQLServer.2014.ServerRole"]/InstanceName$</SqlInstanceName>
<DatabaseName>$Target/Host/Host/Property[Type="SQL2014Core!Microsoft.SQLServer.2014.Database"]/DatabaseName$</DatabaseName>
<DBFileId>$Target/Property[Type="SQL2014Core!Microsoft.SQLServer.2014.Container"]/ContainerID$</DBFileId>
<Value>Property[@Name='FreeSpacePercent']</Value>
<CriticalThreshold>10</CriticalThreshold>
<WarningThreshold>20</WarningThreshold>
<TimeoutSeconds>300</TimeoutSeconds>
<ScriptDelayMsec>0</ScriptDelayMsec>
</Configuration>
</UnitMonitor>