Il monitoraggio restituisce un avviso quando lo spazio disponibile su disco per il contenitore del filegroup di dati con ottimizzazione per la memoria scende sotto l'impostazione della soglia di avviso, espressa come percentuale della somma delle dimensioni dei contenitori del filegroup di dati con ottimizzazione per la memoria e dello spazio disponibile su disco. Il monitoraggio restituisce un avviso critico quando lo spazio disponibile scende sotto la soglia critica.
Il monitoraggio restituisce un avviso quando lo spazio disponibile su disco per il contenitore del filegroup di dati con ottimizzazione per la memoria scende sotto l'impostazione della soglia di avviso, espressa come percentuale della somma delle dimensioni dei contenitori del filegroup di dati con ottimizzazione per la memoria e dello spazio disponibile su disco. Il monitoraggio restituisce un avviso critico quando lo spazio disponibile scende sotto la soglia critica.
Le dimensioni della cartella dei contenitori del filegroup di dati con ottimizzazione per la memoria aumentano in genere nel tempo in seguito all'aggiunta di dati nelle tabelle dati con ottimizzazione per la memoria. Di conseguenza, gli amministratori dovranno garantire che vi sia sempre spazio sufficiente nella posizione di archiviazione della cartella dei contenitori.
Quando lo spazio disponibile su disco nell'unità in cui è configurata la posizione di archiviazione del database diventa troppo basso, possono verificarsi alcuni errori impedendo la corretta elaborazione dei dati, ritardando le query dell'utente o influendo anche sulle altre applicazioni che condividono la stessa allocazione dello spazio su disco.
Lo spazio di archiviazione viene allocato come parte delle operazioni DML nelle tabelle con ottimizzazione per la memoria durevoli. È necessario configurare lo spazio di archiviazione fino a 4 volte le dimensioni dei dati con ottimizzazione per la memoria delle tabelle con ottimizzazione per la memoria durevoli. Se lo spazio di archiviazione è stato configurato correttamente ma si verificano ancora errori di spazio di archiviazione disponibile insufficiente, è possibile che le operazioni di input/output al secondo supportate dai contenitori non siano in grado di supportare la richiesta del carico di lavoro. Una raccomandazione generale per i contenitori è quella di supportare operazioni di input/output al secondo con una velocità 3 volte quella di generazione dei dati in modo da includere il popolamento iniziale dei file di dati/differenziali e l'operazione di unione automatica che deve leggere i file di dati/differenziali di origine e quindi unirli in una coppia di file di checkpoint.
Le risoluzioni per lo spazio insufficiente disponibile su disco dipendono dalle cause principali che devono essere investigate caso per caso quando si verifica tale problema. È possibile provare a risolvere tale condizione adottando uno dei tanti approcci potenziali:
Diminuire la quantità di dati da archiviare nelle tabelle dati con ottimizzazione per la memoria.
Rimuovere i dati che utilizzano lo spazio su disco nella stessa unità contenente la cartella dei contenitori del filegroup di dati con ottimizzazione per la memoria.
Aggiungere un altro contenitore al filegroup di dati con ottimizzazione per la memoria.
Aumentare le dimensioni dell'unità logica in cui è archiviata la cartella dei contenitori del filegroup di dati con ottimizzazione per la memoria con Gestione dischi logici.
Copiare tutta la cartella dei contenitori del filegroup di dati con ottimizzazione per la memoria in una nuova unità con più spazio disponibile.
Modificare le soglie di conseguenza in modo da essere appropriate alle condizioni e al carico di lavoro previsti nell'ambiente.
Disabilitare completamente il monitoraggio se lo spazio su disco non rappresenta un problema per l'istanza.
Nome | Descrizione | Valore predefinito |
Priorità avviso | Definisce la priorità dell'avviso. | Normale |
Gravità avviso | Definisce la gravità dell'avviso. | Errore |
Dimensioni massime del file in Azure (MB) | Dimensioni massime del file di dati archiviato nell'archiviazione BLOB di Azure. Il flusso di lavoro considera questo valore come la capacità di archiviazione massima per ogni file. | 1048576 |
Soglia critica | Lo stato del monitoraggio passerà a 'Critico' se il valore scende sotto questa soglia. | 10 |
Attivato | Abilita o disabilita il flusso di lavoro. | Sì |
Genera avvisi | Definisce se il flusso di lavoro genera un avviso. | Sì |
Intervallo (secondi) | Intervallo di tempo ricorrente in secondi in cui eseguire il flusso di lavoro. | 900 |
Tempo di sincronizzazione | Ora di sincronizzazione specificata usando il formato a 24 ore. Può essere omessa. |
|
Timeout (secondi) | Specifica il tempo di esecuzione consentito per il flusso di lavoro prima che venga chiuso e contrassegnato come non riuscito. | 300 |
Timeout per la connessione di database (secondi) | Il flusso di lavoro avrà esito negativo e registrerà un evento se non riesce ad accedere al database durante il periodo specificato. | 15 |
Soglia di avviso | Lo stato del monitoraggio passerà ad 'Avviso' se il valore scende sotto questa soglia. | 20 |
Target | Microsoft.SQLServer.Windows.Container | ||
Parent Monitor | System.Health.PerformanceState | ||
Category | PerformanceHealth | ||
Enabled | False | ||
Alert Generate | True | ||
Alert Severity | MatchMonitorHealth | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | Microsoft.SQLServer.Windows.MonitorType.Container.FreeSpacePercent | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.SQLServer.Windows.Monitor.Container.FreeSpacePercent" Accessibility="Public" Enabled="false" Target="SqlDiscW!Microsoft.SQLServer.Windows.Container" ParentMonitorID="Health!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.Windows.MonitorType.Container.FreeSpacePercent" ConfirmDelivery="true">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.Windows.Monitor.Container.FreeSpacePercent.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Host/Host/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/MachineName$</AlertParameter1>
<AlertParameter2>$Target/Host/Host/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/InstanceName$</AlertParameter2>
<AlertParameter3>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.File"]/FileName$</AlertParameter3>
<AlertParameter4>$Target/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.Filegroup"]/GroupName$</AlertParameter4>
<AlertParameter5>$Target/Host/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.Database"]/DatabaseName$</AlertParameter5>
<AlertParameter6>$Data/Context/Property[@Name='DiskTotalSizeMB']$</AlertParameter6>
<AlertParameter7>$Data/Context/Property[@Name='FreeSpacePercent']$</AlertParameter7>
<AlertParameter8>$Data/Context/Property[@Name='FreeSpaceMB']$</AlertParameter8>
<AlertParameter9>$Data/Context/Property[@Name='AllocatedSizeMB']$</AlertParameter9>
</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>
<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>
<CriticalThreshold>10</CriticalThreshold>
<WarningThreshold>20</WarningThreshold>
<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>
<MonitoringType>$Target/Host/Host/Host/Property[Type="SqlDiscW!Microsoft.SQLServer.Windows.DBEngine"]/MonitoringType$</MonitoringType>
<SqlTimeoutSeconds>15</SqlTimeoutSeconds>
<TimeoutSeconds>300</TimeoutSeconds>
<IntervalSeconds>900</IntervalSeconds>
<SyncTime/>
</Configuration>
</UnitMonitor>