Esegue il monitoraggio delle variazioni significative relative allo spazio disponibile per il database nel corso di un numero specifico di periodi di riferimento. Nota: per impostazione predefinita, questo monitoraggio è disabilitato. Usare gli override per abilitarlo quando necessario.
Esegue il monitoraggio di una modifica significativa al valore dello spazio disponibile nel database in una serie specificata di periodi di riferimento. Una modifica significativa del valore avvenuta rapidamente potrebbe indicare un problema.
Uno stato non integro è causato da una modifica significativa al valore dello spazio disponibile in una serie specificata di periodi di riferimento. Possibili cause:
Notevole aumento delle dimensioni per un file impostato automaticamente.
Rapido aumento di un file che utilizza una notevole quantità di spazio disponibile in un breve periodo di tempo.
Utilizzo di una notevole quantità di spazio disponibile da parte di un oggetto o file esterno ospitato nello stesso disco del file specifico.
Per visualizzare i dati sulle prestazioni, usare il collegamento Dati sulle prestazioni del database
Questo monitoraggio aggrega lo spazio disponibile per ogni file all'interno di un filegroup a seconda della configurazione di ogni file:
Nessun aumento automatico delle dimensioni
Per un file senza aumento automatico delle dimensioni, lo spazio disponibile corrisponde alla differenza tra le dimensioni iniziali di un file e lo spazio usato.
Aumento automatico delle dimensioni abilitato
Oltre alla differenza tra le dimensioni del file e lo spazio usato, lo spazio disponibile per i file con opzione di aumento automatico delle dimensioni abilitata corrisponde al valore più basso tra le dimensioni massime e le dimensioni del file e lo spazio disponibile su disco.
I calcoli dello spazio disponibile tengono inoltre conto del fatto che l'aumento delle dimensioni del file può non riuscire se il livello di aumento del file è maggiore della quantità di spazio disponibile sul disco e che le dimensioni del file non possono aumentare se la differenza tra le dimensioni massime e quelle correnti del file è minore dell'aumento. In questi casi, lo spazio disponibile su disco non è incluso nello spazio disponibile perché le dimensioni non possono aumentare ulteriormente.
Per risolvere il problema, procedere nel modo seguente:
Diminuire la possibilità di aumento per i file con aumento automatico delle dimensioni
Modificare le soglie del monitoraggio in funzione del carico di lavoro
In alternativa, se la modifica della percentuale dello spazio disponibile non rappresenta un problema per il database, effettuare l'operazione seguente:
Disabilitare il monitoraggio per il database specifico o per tutti i database
Nome | Descrizione | Valore predefinito |
Priorità avviso | Definisce la priorità dell'avviso. | Normale |
Gravità avviso | Definisce la gravità dell'avviso. | MatchMonitorHealth |
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 supera questa soglia. Se invece il valore si trova tra questa soglia e la soglia di avviso (inclusa), il monitoraggio passerà allo stato di avviso. | 45 |
Abilitato | Abilita o disabilita il flusso di lavoro. | No |
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 |
Numero di campioni | Indica quante volte un valore misurato deve violare una soglia prima che venga modificato lo stato. | 5 |
Ora 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 |
Soglia di avviso | Soglia di avviso. Se questa soglia viene superata, lo stato del monitoraggio passerà almeno a una soglia di avviso. | 25 |
Target | Microsoft.SQLServer.2016.Database | ||
Parent Monitor | Microsoft.SQLServer.2016.Database.DBSpaceMonitor | ||
Category | PerformanceHealth | ||
Enabled | False | ||
Alert Generate | True | ||
Alert Severity | MatchMonitorHealth | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | Microsoft.SQLServer.2016.DBPercentageChange | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.SQLServer.2016.Database.DBSizePercentageChangeMonitor" Accessibility="Public" Enabled="false" Target="SQL2016Core!Microsoft.SQLServer.2016.Database" ParentMonitorID="Microsoft.SQLServer.2016.Database.DBSpaceMonitor" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.2016.DBPercentageChange" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2016.Database.DBSizePercentageChangeMonitor.AlertMessage">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</AlertParameter1>
<AlertParameter2>$Target/Host/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.ServerRole"]/InstanceName$</AlertParameter2>
<AlertParameter3>$Target/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.Database"]/DatabaseName$</AlertParameter3>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="UnderThreshold1" MonitorTypeStateID="UnderThreshold1" HealthState="Success"/>
<OperationalState ID="OverThreshold1UnderThreshold2" MonitorTypeStateID="OverThreshold1UnderThreshold2" HealthState="Warning"/>
<OperationalState ID="OverThreshold2" MonitorTypeStateID="OverThreshold2" HealthState="Error"/>
</OperationalStates>
<Configuration>
<IntervalSeconds>900</IntervalSeconds>
<SyncTime/>
<ConnectionString>$Target/Host/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.DBEngine"]/ConnectionString$</ConnectionString>
<ServerName>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ServerName>
<SqlInstanceName>$Target/Host/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.ServerRole"]/InstanceName$</SqlInstanceName>
<ObjectName>SQL Database</ObjectName>
<CounterName>DB Available Space Total (%)</CounterName>
<InstanceName/>
<DatabaseName>$Target/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.Database"]/DatabaseName$</DatabaseName>
<Value>$Data/Property[@Name='DBFreeSpacePercent']$</Value>
<Threshold1>25</Threshold1>
<Threshold2>45</Threshold2>
<NumSamples>5</NumSamples>
<TimeoutSeconds>300</TimeoutSeconds>
<AzureMaxFileSizeMB>1048576</AzureMaxFileSizeMB>
</Configuration>
</UnitMonitor>