Questo monitoraggio controlla lo spazio disponibile in tutti i file di log delle transazioni nel database e nel supporto correlato. Lo spazio disponibile nel supporto che ospita i file di log delle transazioni è incluso solo come parte dello spazio disponibile se l'opzione di aumento automatico delle dimensioni è abilitata per almeno un file di log delle transazioni. Questo monitoraggio è un monitoraggio delle dipendenze (rollup).
Nota: questo monitoraggio è un monitoraggio delle dipendenze (rollup). Lo stato di integrità di questo monitoraggio è determinato dallo stato migliore del monitoraggio di uno dei membri. Leggere anche l'articolo della Knowledge Base relativo ai monitoraggi unità correlati.
Il monitoraggio controlla lo spazio disponibile in tutti i file di log delle transazioni nel database e nei supporti correlati. Lo spazio disponibile nel supporto che ospita i file di log è incluso nello spazio disponibile solo se l'opzione di aumento automatico delle dimensioni è abilitata per almeno un file. Questo monitoraggio è un monitoraggio delle dipendenze (rollup).
Uno stato non integro viene determinato nel caso in cui lo spazio disponibile per tutti i file di log sia insufficiente. Lo spazio disponibile può risultare insufficiente per i motivi seguenti:
Impostazioni di configurazione del file inadeguate (dimensioni, dimensioni massime, aumento automatico delle dimensioni e così via)
Spazio rimanente nei supporti inadeguato
Mancanza di backup regolari periodici
Nessun troncamento log
Questo monitoraggio aggrega lo spazio disponibile per ogni file di log all'interno di un database a seconda della configurazione di ciascun file:
Nessun aumento automatico delle dimensioni
Per un file per cui non è configurato l'aumento automatico, lo spazio disponibile è dato dalla differenza tra le dimensioni del file e lo spazio usato (dimensioni dei dati archiviati nel file).
Aumento automatico delle dimensioni abilitato
Se è abilitata l'opzione di aumento automatico delle dimensioni, lo spazio disponibile su disco è incluso nello spazio disponibile. Oltre alla differenza tra le dimensioni del file e lo spazio usato, lo spazio disponibile per i file con l'opzione per l'aumento automatico delle dimensioni abilitata include anche lo spazio disponibile nel supporto (ma non più della differenza tra le dimensioni massime e le dimensioni correnti del file).
Lo spazio disponibile insufficiente per i file di database con aumento automatico delle dimensioni può indicare che le dimensioni del file si stanno avvicinando ai limiti dell'unità logica di hosting. Per i file per i quali è abilitato l'aumento automatico delle dimensioni con dimensioni massime, lo spazio disponibile potrebbe inoltre risultare insufficiente se le dimensioni del file si avvicinano a quelle massime specificate.
I calcoli dello spazio disponibile tengono conto anche del fatto che l'aumento delle dimensioni del file può non riuscire se il livello di aumento delle dimensioni del file (in MB o %) è maggiore dello spazio disponibile sul supporto. La stessa logica si applica ai file per cui l'aumento delle dimensioni è limitato dall'impostazione delle dimensioni massime. In questi casi, lo spazio disponibile su disco non viene incluso nello spazio disponibile perché non è possibile un ulteriore aumento delle dimensioni del file.
Per risolvere il problema, procedere nel modo seguente:
Incrementare le dimensioni allocate per i file di log se l'aumento automatico delle dimensioni è disabilitato
Incrementare il valore delle dimensioni massime di un file se l'aumento automatico delle dimensioni è abilitato
Abilitare l'aumento automatico delle dimensioni per almeno un file
Spostare i file di log in un'altra unità con maggiore spazio disponibile se lo spazio per l'aumento delle dimensioni è limitato
Eseguire backup regolari dei file di log per le modalità di recupero FULL e BULK-LOGGED
Analizzare i motivi che determinano il troncamento del log:
Transazioni attive con esecuzione aperta prolungata
Operazioni di backup a esecuzione prolungata
Transazione replicata aperta per un periodo di tempo prolungato (replica transazionale)
Ritardo di mirroring per il server principale (Mirroring del database)
Modificare le soglie dei monitoraggi unità correlati in funzione del carico di lavoro
In alternativa, se lo spazio disponibile per il file di log non rappresenta un problema per il database, procedere nel modo seguente:
Disabilitare il monitoraggio per il database specifico o per tutti i database
Vedere l'argomento della documentazione online di SQL Server Architettura di file e filegroup
Nome | Descrizione | Valore predefinito |
Priorità avviso | Definisce la priorità dell'avviso. | Normale |
Gravità avviso | Definisce la gravità dell'avviso. | MatchMonitorHealth |
Abilitato | Abilita o disabilita il flusso di lavoro. | Sì |
Genera avvisi | Definisce se il flusso di lavoro genera un avviso. | Sì |
Target | Microsoft.SQLServer.2016.Database | ||
Parent Monitor | Microsoft.SQLServer.2016.Database.DBLogFileSpaceMonitor | ||
Algorithm | BestOf | ||
Source Monitor | Microsoft.SQLServer.2016.Monitoring.DBLogFileSpaceMonitor | ||
Relationship | Microsoft.SQLServer.2016.DBHostsLogFile | ||
Category | PerformanceHealth | ||
Enabled | True | ||
Alert Generate | True | ||
Alert Severity | MatchMonitorHealth | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
|
<DependencyMonitor ID="Microsoft.SQLServer.2016.Database.DBLogFileSpaceMonitorRollUp" Accessibility="Public" Enabled="true" Target="SQL2016Core!Microsoft.SQLServer.2016.Database" ParentMonitorID="Microsoft.SQLServer.2016.Database.DBLogFileSpaceMonitor" Remotable="true" Priority="Normal" RelationshipType="SQL2016Core!Microsoft.SQLServer.2016.DBHostsLogFile" MemberMonitor="Microsoft.SQLServer.2016.Monitoring.DBLogFileSpaceMonitor">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2016.Database.DBLogFileSpaceMonitorRollUp.AlertMessageResourceID">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.Database"]/DatabaseName$</AlertParameter1>
<AlertParameter2>$Target/Host/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.ServerRole"]/InstanceName$</AlertParameter2>
<AlertParameter3>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</AlertParameter3>
</AlertParameters>
</AlertSettings>
<Algorithm>BestOf</Algorithm>
<MemberUnAvailable>Error</MemberUnAvailable>
</DependencyMonitor>