DB FILESTREAM: Verfügbarer Dateigruppen-Speicherplatz

Microsoft.SQLServer.Windows.Monitor.DBFilegroupFd.GroupSpace (UnitMonitor)

Der Monitor gibt eine Warnung aus, wenn der freie Speicherplatz unter die Einstellung für den Warnungsschwellenwert sinkt (ausgedrückt als Prozentsatz der summierten Datengröße). Der Monitor meldet eine kritische Warnung, wenn der freie Speicherplatz unter den kritischen Schwellenwert fällt.

Knowledge Base article:

Zusammenfassung

Der Monitor gibt eine Warnung aus, wenn der verfügbare Speicherplatz für den FILESTREAM-Dateigruppencontainer unter den Schwellenwert für Warnungen fällt, ausgedrückt als Prozentsatz des freien Speicherplatzes insgesamt. Der Monitor gibt einen kritischen Alarm aus, wenn der freie Speicherplatz unter den kritischen Schwellenwert fällt.

Der Containerordner für FILESTREAM-Dateigruppendaten nimmt in der Regel im Laufe der Zeit an Größe zu, während den Tabellen immer mehr Daten hinzugefügt werden. Administratoren sollten diesen Parameter daher überwachen, um sicherzustellen, dass am Speicherort genügend Speicherplatz für den Containerordner verbleibt.

Ursachen

Wird auf dem Laufwerk, auf dem der FILESTREAM-Datencontainer konfiguriert ist, der Speicherplatz zu knapp, können Fehler auftreten und eine erfolgreiche Verarbeitung von Daten verhindern, Benutzerabfragen verzögern oder andere Anwendungen beeinträchtigen, für die derselbe Speicherplatz reserviert ist.

Lösungen

Die Lösungen bei wenig verfügbarem Speicherplatz auf dem Datenträger richten sich nach den jeweiligen Ursachen, die bei jedem Auftreten dieses Problems untersucht werden müssen. Zur Behebung sind folgende Herangehensweisen möglich:

Überschreibbare Parameter

Name

Beschreibung

Standardwert

Warnungspriorität

Definiert die Warnungspriorität.

Normal

Warnungsschweregrad

Definiert den Warnungsschweregrad.

Fehler

Maximale Azure-Dateigröße (MB)

Die maximale Größe der im Azure-Blobspeicher gespeicherten Datendatei. Im Workflow wird dieser Wert als maximale Speicherkapazität für jede Datei betrachtet.

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)

Gibt das Wiederholungsintervall in Sekunden für die Ausführung des Workflows an.

900

Synchronisierungszeit

Die Synchronisierungszeit, angegeben im 24-Stunden-Format. Dieser Wert kann ausgelassen werden.

 

Timeout (Sekunden)

Gibt die Zeit an, zu der der Workflow ausgeführt werden dann, bevor er geschlossen und als fehlerhaft markiert wird.

300

Timeout für Datenbankverbindung (Sekunden)

Es tritt ein Fehler beim Workflow auf, und ein Ereignis wird registriert, wenn der Workflow nicht innerhalb des angegebenen Zeitraums auf die Datenbank zugreifen kann.

15

Warnungsschwellenwert

Der Status des Monitors wechselt zu "Warnung", wenn der Wert unter diesen Schwellenwert sinkt.

20

Element properties:

TargetMicrosoft.SQLServer.Windows.DBFilegroupFd
Parent MonitorSystem.Health.PerformanceState
CategoryPerformanceHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityMatchMonitorHealth
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SQLServer.Windows.MonitorType.DBFilegroupFd.GroupSpace
RemotableTrue
AccessibilityPublic
Alert Message
MSSQL unter Windows: Der Speicherplatz im Datencontainer der Datenbank-FILESTREAM-Dateigruppe geht zur Neige.
DB FILESTREAM: Im Dateigruppen-Datencontainer für die Dateigruppe "{0}" in der Datenbank "{1}" in der SQL-Instanz "{2}" auf dem Computer "{3}" geht der Speicherplatz zur Neige. Weitere Details finden Sie im entsprechenden Wissensdatenbankartikel.
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.SQLServer.Windows.Monitor.DBFilegroupFd.GroupSpace" Accessibility="Public" Enabled="true" Target="SqlDiscW!Microsoft.SQLServer.Windows.DBFilegroupFd" ParentMonitorID="Health!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.Windows.MonitorType.DBFilegroupFd.GroupSpace" ConfirmDelivery="true">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.Windows.Monitor.DBFilegroupFd.GroupSpace.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.Filegroup"]/GroupName$</AlertParameter1>
<AlertParameter2>$Target/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.Database"]/DatabaseName$</AlertParameter2>
<AlertParameter3>$Target/Host/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/InstanceName$</AlertParameter3>
<AlertParameter4>$Target/Host/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/MachineName$</AlertParameter4>
</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>
<MachineName>$Target/Host/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/MachineName$</MachineName>
<InstanceName>$Target/Host/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/InstanceName$</InstanceName>
<DatabaseName>$Target/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.Database"]/DatabaseName$</DatabaseName>
<FilegroupName>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.Filegroup"]/GroupName$</FilegroupName>
<AzureMaxFileSizeMB>1048576</AzureMaxFileSizeMB>
<ObjectName>SQL DB FileStream FileGroup</ObjectName>
<CounterName>DB FileStrem FileGroup Free Space (%)</CounterName>
<PerfInstanceName/>
<ValuePropertyName>FreeSpacePercent</ValuePropertyName>
<Threshold1>10</Threshold1>
<Threshold2>20</Threshold2>
<ConnectionString>$Target/Host/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/ConnectionString$</ConnectionString>
<MonitoringType>$Target/Host/Host/Property[Type="SqlDiscW!Microsoft.SQLServer.Windows.DBEngine"]/MonitoringType$</MonitoringType>
<SqlTimeoutSeconds>15</SqlTimeoutSeconds>
<TimeoutSeconds>300</TimeoutSeconds>
<IntervalSeconds>900</IntervalSeconds>
<SyncTime/>
</Configuration>
</UnitMonitor>