MSSQL für Linux: Freier Speicherplatz des speicheroptimierten Datendateigruppen-Containers (\%)

Microsoft.SQLServer.Linux.CollectionRule.Container.SpaceFreePercent (Rule)

Erfasst die Menge des im speicheroptimierten Datendateigruppen-Container verfügbaren freien Speicherplatzes, ausgedrückt als Prozentsatz der Summe aus freiem Speicherplatz auf dem Datenträger und der Größe der im speicheroptimierten Datendateigruppen-Container gespeicherten Daten.

Knowledge Base article:

Zusammenfassung

Die Regel erfasst die Menge des im speicheroptimierten Datendateigruppen-Container verfügbaren freien Speicherplatzes, ausgedrückt als Prozentsatz der Summe aus freiem Speicherplatz auf dem Datenträger und der Größe der im speicheroptimierten Datendateigruppen-Container gespeicherten Daten.

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.

Wenn auf dem Laufwerk, auf dem der Speicherort der Datenbank konfiguriert wurde, zu wenig Speicherplatz verfügbar ist, können Fehler entstehen, die die erfolgreiche Verarbeitung von Daten verhindern, Benutzerabfragen verzögern oder andere Anwendungen beeinträchtigen können, denen der gleiche Speicherplatz auf dem Datenträger zugewiesen ist.

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:

.

Überschreibbare Parameter

Name

Beschreibung

Standardwert

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

Aktiviert

Aktiviert oder deaktiviert den Workflow.

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

Element properties:

TargetMicrosoft.SQLServer.Linux.Container
CategoryPerformanceCollection
EnabledTrue
Alert GenerateFalse
RemotableTrue

Member Modules:

ID Module Type TypeId RunAs 
DS DataSource Microsoft.SQLServer.Linux.DataSource.DBFileSizeRawPerfProvider Default
WriteToDB WriteAction Microsoft.SystemCenter.CollectPerformanceData Default
WriteToDW WriteAction Microsoft.SystemCenter.DataWarehouse.PublishPerformanceData Default

Source Code:

<Rule ID="Microsoft.SQLServer.Linux.CollectionRule.Container.SpaceFreePercent" Target="SqlDiscL!Microsoft.SQLServer.Linux.Container" Enabled="true">
<Category>PerformanceCollection</Category>
<DataSources>
<DataSource ID="DS" TypeID="Microsoft.SQLServer.Linux.DataSource.DBFileSizeRawPerfProvider">
<MachineName>$Target/Host/Host/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/MachineName$</MachineName>
<NetbiosComputerName>$Target/Host/Host/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/NetbiosComputerName$</NetbiosComputerName>
<InstanceName>$Target/Host/Host/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/InstanceName$</InstanceName>
<DatabaseName>$Target/Host/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.Database"]/DatabaseName$</DatabaseName>
<FileName>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.File"]/FileName$</FileName>
<AzureMaxFileSizeMB>1048576</AzureMaxFileSizeMB>
<ObjectName>Memory-Optimized Container</ObjectName>
<CounterName>Memory-Optimized Filegroup container free space (%)</CounterName>
<PerfInstanceName/>
<ValuePropertyName>FreeSpacePercent</ValuePropertyName>
<ConnectionString>$Target/Host/Host/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/ConnectionString$</ConnectionString>
<InstanceVersion>$Target/Host/Host/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/Version$</InstanceVersion>
<InstanceEdition>$Target/Host/Host/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/Edition$</InstanceEdition>
<SqlExecTimeoutSeconds>60</SqlExecTimeoutSeconds>
<SqlTimeoutSeconds>15</SqlTimeoutSeconds>
<TimeoutSeconds>300</TimeoutSeconds>
<IntervalSeconds>900</IntervalSeconds>
<SyncTime/>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="WriteToDB" TypeID="SC!Microsoft.SystemCenter.CollectPerformanceData"/>
<WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishPerformanceData"/>
</WriteActions>
</Rule>