Condividi tramite


Monitoraggio della configurazione nel Management Pack per SQL Server

Questa sezione illustra le configurazioni di monitoraggio nel Management Pack per SQL Server.

Regole di avviso di SQL Server Agent: specifiche della configurazione

Il Management Pack per SQL Server fornisce le regole di avviso di SQL Server Agent seguenti:

  • MSSQL per Windows: Il motore degli avvisi è stato arrestato a causa di errori irreversibili del log eventi locale
  • MSSQL per Windows: Un processo SQL non è stato completato correttamente
  • MSSQL per Windows: Non è possibile eseguire il passaggio del processo perché il caricamento del sottosistema non è riuscito
  • MSSQL per Windows: L'agente è sospetto. Non è stata ricevuta alcuna risposta negli ultimi minuti
  • MSSQL per Windows: Non è stato possibile avviare SQL Server Agent
  • MSSQL per Windows: Avvio della chiusura automatica di SQL Server Agent
  • MSSQL per Windows: Un passaggio di un processo ha causato un'eccezione nel sottosistema
  • MSSQL per Windows: SQL Server Agent non riesce a connettersi a SQL Server
  • MSSQL per Windows: Non è possibile riaprire il log eventi locale

Per impostazione predefinita, queste regole sono abilitate in modalità di monitoraggio agente, ma disabilitate in modalità di monitoraggio misto perché Operations Manager non consente agli eventi dai registri eventi di raccogliere nei computer remoti. Per modificare questa impostazione, è possibile eseguire l'override di ognuna di queste regole abilitando l'opzione AllowProxying .

Nota

L'abilitazione dell'opzione AllowProxying può causare l'esecuzione di codice remoto. Non abilitare questa opzione a meno che non si sia certi che il computer sia protetto.

Nessuna di queste regole funziona in modalità di monitoraggio senza agente e non è disponibile per SQL in Linux.

Regole di avviso AlwaysOn

Il Management Pack per SQL Server dispone di due regole evento per gli avvisi nei casi in cui vengono visualizzati gli eventi seguenti nel registro applicazioni di Windows:

  • ID evento 1480, il ruolo Replica di database viene modificato

  • ID evento 19406, ruolo replica di disponibilità modificato

Per impostazione predefinita, SQL Server potrebbe non generare questi eventi nel log applicazioni. Per abilitarli, eseguire gli script T-SQL seguenti:

sp_altermessage 1480, 'with_log', 'true'
sp_altermessage 19406, 'with_log', 'true'

Monitoraggio del backup del database di disponibilità

Il Management Pack per SQL Server fornisce monitoraggi che controllano l'esistenza e l'età dei backup di un database e del log, come indicato da Microsoft SQL Server. Questa operazione viene eseguita eseguendo una query sul database master dell'istanza DI SQL e restituendo l'età del backup.

Questi monitoraggi si trovano nel rollup dello stato di disponibilità del database del gruppo di disponibilità nella visualizzazione Gruppo di disponibilità. L'elenco dei monitoraggi è il seguente:

  • Monitoraggio dello stato del backup del database di disponibilità
  • Monitoraggio dello stato del backup del log del database di disponibilità

Monitoraggio dello stato del backup del database di disponibilità

Questo monitoraggio è destinato all'integrità del database di disponibilità e controlla lo stato del backup del database in base alla soglia in giorni.

Per impostazione predefinita, il monitoraggio non tiene traccia delle preferenze di backup del gruppo di disponibilità. Se questo overdrive è abilitato, il monitoraggio tiene traccia del percorso di backup configurato nelle preferenze di backup del gruppo di disponibilità e verificherà se il backup nella replica selezionata è conforme all'impostazione della frequenza di backup.

Le preferenze di backup del gruppo di disponibilità selezionato possono essere le seguenti:

  • Preferisco secondario

    Specifica che i backup devono essere eseguiti su una replica secondaria tranne quando la replica primaria è l'unica replica online. In tal caso il backup deve essere eseguito sulla replica primaria. Si tratta dell'opzione predefinita.

  • Solo secondaria

    Specifica che i backup non devono mai essere eseguiti sulla replica primaria. Se la replica primaria è l'unica replica online, il backup non deve essere eseguito.

  • Server/istanza primaria

    Specifica che i backup devono essere sempre eseguiti sulla replica primaria. Questa opzione è utile se sono necessarie funzionalità di backup, ad esempio la creazione di backup differenziali non supportate quando il backup viene eseguito in una replica secondaria.

  • Qualsiasi replica

    Specifica che si preferisce che i processi di backup ignorino il ruolo delle repliche di disponibilità nella scelta della replica per l'esecuzione dei backup.

    Nota

    I processi di backup possono valutare altri fattori, ad esempio la priorità di backup di ogni replica di disponibilità in combinazione con lo stato operativo e lo stato connesso.

Di seguito sono riportati esempi di attivazione e disattivazione dell'opzione di impostazioni di traccia nel caso delle preferenze di backup è la replica primaria per il gruppo di disponibilità e il file di backup esiste solo in una replica secondaria.

È abilitato il parametro delle preferenze di backup per tenere traccia: per entrambe le repliche di database, lo stato del backup del database di disponibilità è in uno stato critico:

Screenshot dell'rollup dello stato del backup del database di disponibilità quando si abilita la preferenza di backup per la replica primaria.

Il parametro Rileva preferenze di backup è disabilitato : solo per la replica del database primario, lo stato del backup del database di disponibilità è in uno stato critico :

Screenshot dell'rollup dello stato del backup del database di disponibilità quando si disabilita la preferenza di backup per la replica primaria.

Monitoraggio dello stato del backup del log del database di disponibilità

Questo monitoraggio è destinato all'integrità del database di disponibilità e controlla lo stato del backup del log del database in base alla soglia in minuti.

Il rollup del database di disponibilità monitora gli avvisi

Lo stato del backup del database di disponibilità e i monitoraggi dello stato del backup del log del database di disponibilità sono configurati con il criterio di rollup "Stato migliore di qualsiasi membro" e hanno gli avvisi critici nel rispettivo rollup per impostazione predefinita per visualizzare lo stato completo del database nel gruppo di disponibilità.

Il database di disponibilità è l'entità di un database che può essere ospitato in molte repliche, in base a questa situazione, solo lo stato di backup del database di disponibilità (rollup) ha l'avviso per controllare lo stato dell'intero database di disponibilità rispetto alla visualizzazione dello stato del database in ogni replica:

Screenshot dell'avviso di rollup del backup del database di disponibilità.

Un rollup diventa critico e genera un avviso solo quando tutte le repliche di database hanno uno stato critico di backup del database o backup del log. Se solo una replica ha uno stato critico di backup del database o backup del log, il rollup rimane integro in base ai criteri di rollup.

Monitoraggio dei criteri

Il Management Pack per SQL Server raccoglie le metriche di integrità per i database e gli oggetti Always On che si trovano nell'istanza di SQL Server di destinazione leggendo lo stato dei criteri pbm (gestione basata su criteri) per ognuno degli oggetti.

Oltre ai criteri di sistema, il Management Pack consente di monitorare i criteri utente personalizzati per gli oggetti seguenti:

  • Database
  • Gruppo di disponibilità
  • Replica di disponibilità
  • Replica di database

Per ognuno di questi oggetti, il Management Pack dispone dei monitoraggi seguenti:

  • Monitoraggio a due stati con stato Avviso . Questo monitoraggio mostra lo stato dei criteri utente personalizzati con una delle categorie di avviso predefinite come Categoria criteri.
  • Monitoraggio a due stati con stato Errore . Questo monitoraggio mostra lo stato dei criteri utente personalizzati con una delle categorie di errore predefinite come Categoria criteri.

Monitoraggio dello spazio

Il Management Pack per SQL Server è in grado di eseguire il monitoraggio dello spazio raccogliendo un set di metriche ai livelli seguenti:

  • Database
  • Filegroup
  • file
  • File di log

È possibile usare i monitoraggi unità, nonché le metriche delle prestazioni per visualizzare queste informazioni per più database e per intervalli di tempo lunghi.

Il monitoraggio dello spazio supporta i tipi di supporti seguenti:

  • Archiviazione locale e punti di montaggio
  • Volumi condivisi cluster
  • Condivisioni SMB
  • BLOB di Azure

Dopo l'importazione del Management Pack per SQL Server, è possibile che alcuni dei flussi di lavoro di monitoraggio dello spazio siano abilitati per impostazione predefinita, mentre altri sono disabilitati. Ai fini della riduzione del carico nell'ambiente, il monitoraggio dello spazio è abilitato solo per il livello di database e disabilitato per il filegroup, il file di log, il contenitore OLTP in memoria e i livelli di filegroup FILESTREAM. Se l'ambiente è sensibile al carico aggiuntivo, l'abilitazione dei flussi di lavoro usati raramente non è consigliata.

Nota

Quando si monitorano i filegroup, viene generato un avviso solo se tutti i file nel filegroup non sono integri del tutto. Se nel filegroup è presente almeno un file integro, non verrà registrato alcun avviso.

Di seguito è riportato un elenco che illustra lo stato predefinito di ognuno dei flussi di lavoro di monitoraggio dello spazio:

  • Individuazioni abilitate per Windows e Linux
    • Motori di database
    • Database per un motore di database
  • Individuazioni disabilitate per Windows e Linux
    • Filegroup di database
    • File di database
    • File di log delle transazioni
    • Filegroup FILESTREAM
    • Filegroup di dati ottimizzati per la memoria
    • Contenitori di filegroup di dati con ottimizzazione per la memoria
  • Monitoraggi abilitati per Windows
    • Destinazione del database
      • Spazio disponibile dati ROWS a sinistra
      • LOG Spazio disponibile a sinistra
  • Monitor disabilitati per Windows
    • Destinazione del database
      • Modifica percentuale spazio dati ROWS
      • Spazio disponibile di dati OLTP in memoria lasciato
      • Spazio disponibile di dati FILESTREAM a sinistra
    • Destinazione del filegroup
      • Spazio disponibile rimanente per il file di database
    • Destinazione del file di log
      • Spazio disponibile rimanente per il file di log del database
    • Destinazione del contenitore di dati OLTP in memoria
      • Spazio disponibile nel contenitore di filegroup di dati con ottimizzazione per la memoria
    • Destinazione del filegroup FILESTREAM
      • Spazio disponibile filegroup FileStream database
  • Monitoraggi abilitati per Linux
    • Destinazione del filegroup
      • Spazio disponibile rimanente per il file di database
    • Destinazione del file di log
      • Spazio disponibile rimanente per il file di log del database
    • Destinazione del contenitore di dati OLTP in memoria
      • Spazio disponibile nel contenitore di filegroup di dati con ottimizzazione per la memoria

I monitoraggi seguenti supportano l'override della modalità di calcolo dell'integrità:

  • Spazio disponibile di dati FILESTREAM a sinistra
  • Spazio disponibile di dati OLTP in memoria lasciato
  • Spazio disponibile rimanente per il file di log del database
  • Spazio disponibile dati ROWS a sinistra

Questa sostituzione consente di definire la modalità di monitoraggio dello spazio disponibile nell'ambiente. È possibile indicare a uno dei monitoraggi precedenti di tenere traccia dello stato di integrità in base al parametro 'Threshold' espresso come termine percentuale (%) o come metrica della capacità (MB). Per rendere il monitoraggio ancora più efficiente, è possibile usare contemporaneamente sia il termine percentuale (%) che le soglie della metrica di capacità (MB), nel qual caso la metrica con lo stato peggiore verrà usata per segnalare lo stato di integrità complessivo.

Flussi di lavoro di monitoraggio dello spazio disabilitati per SQL in Linux

I flussi di lavoro seguenti sono disabilitati per impostazione predefinita perché non vengono forniti con i dati necessari dal SQL Server in Linux:

  • Norme
    • MSSQL in Linux: Totale spazio disponibile nel filegroup di dati ottimizzati per la memoria del database (MB)
    • MSSQL in Linux: Totale spazio disponibile nel filegroup di dati ottimizzati per la memoria del database (%)
    • MSSQL in Linux: Totale spazio disponibile nel filegroup FILESTREAM di database (%)
    • MSSQL in Linux: Totale spazio disponibile nel filegroup FILESTREAM di database (MB)
    • MSSQL in Linux: Totale spazio disponibile nel filegroup del database (%)
    • MSSQL in Linux: Totale spazio disponibile nel filegroup del database (MB)
    • MSSQL in Linux: Spazio disponibile allocato nel filegroup del database (%)
    • MSSQL in Linux: Spazio disponibile allocato nel filegroup del database (MB)
    • MSSQL in Linux: Spazio disponibile esterno del database (MB)
    • MSSQL in Linux: Spazio disponibile allocato del database (MB)
    • MSSQL in Linux: Totale spazio disponibile nel log delle transazioni del database (%)
    • MSSQL on Linux: Spazio allocato usato del database (MB)
    • MSSQL in Linux: Totale spazio disponibile nel database (%)
    • MSSQL in Linux: Totale spazio disponibile nel database (MB)
    • MSSQL in Linux: Spazio allocato per i database (MB)
  • Monitor
    • Spazio disponibile nel database
    • Modifica percentuale spazio del database
    • Spazio disponibile log delle transazioni (%)
    • Spazio disponibile filegroup FileStream database

Monitoraggio dello stato del database

Il monitoraggio dello stato del database è progettato per controllare lo stato del database come segnalato da Microsoft SQL Server. Il controllo dello stato viene eseguito eseguendo una query sul database master dell'istanza di SQL Server che restituisce lo stato del database. Se si riceve un avviso da questo monitoraggio, è necessaria un'azione per riportare il database a uno stato operativo.

Tutti gli stati del database, ad eccezione di ONLINE, comportano uno stato di monitoraggio non integro. Nella tabella seguente sono riportate le definizioni degli stati del database.

Provincia Definizione
ONLINE Il database è disponibile per l'accesso. Il filegroup primario è online sebbene sia possibile che la fase di annullamento del recupero non sia stata completata.
OFFLINE Il database non è disponibile. Un database viene portato offline a seguito di un'azione esplicita da parte dell'utente e rimane tale finché l'utente non interviene. È ad esempio possibile che il database sia stato portato offline per consentire lo spostamento di un file su un nuovo disco. In tal caso verrà portato nuovamente online dopo il completamento dell'operazione di spostamento.
RESTORING È in corso il ripristino di uno o più file del filegroup primario oppure il ripristino di uno o più file secondari viene eseguito offline. Il database non è disponibile.
RECOVERING È in corso il recupero del database. Il processo di recupero è uno stato temporaneo. Il database verrà portato automaticamente online se il recupero ha esito positivo. Se invece ha esito negativo, il database verrà contrassegnato come sospetto. Il database non è disponibile.
RECOVERY PENDING SQL Server ha rilevato un errore correlato a una risorsa durante il recupero. Il database non è danneggiato, tuttavia i file potrebbero risultare mancanti oppure limitazioni relative alle risorse di sistema ne potrebbero impedire l'avvio. Il database non è disponibile. Per risolvere il problema che ha causato l'errore e consentire il completamento del processo di recupero, è necessario un ulteriore intervento da parte dell'utente.
SUSPECT Almeno il filegroup primario è sospetto e potrebbe essere danneggiato. Non è possibile recuperare il database durante l'avvio di SQL Server. Il database non è disponibile. Per risolvere il problema, è necessario l'intervento dell'utente.
EMERGENCY L'utente ha modificato il database e impostato lo stato su EMERGENCY. Il database è in modalità utente singolo e può corretto o ripristinato. Il database è contrassegnato come READ_ONLY, la registrazione è disabilitata e l'accesso è limitato ai soli membri del ruolo predefinito del server sysadmin . L'opzione EMERGENCY viene usata principalmente per attività di risoluzione dei problemi. È ad esempio possibile impostare lo stato EMERGENCY per un database contrassegnato come sospetto in modo da consentire all'amministratore di sistema di accedere in sola lettura al database. Solo i membri del ruolo predefinito del server sysadmin possono impostare lo stato EMERGENCY per un database.

Per altre informazioni, vedere Stati del database.

Il monitoraggio supporta anche l'override "Disabilita se il gruppo di disponibilità è offline" per gli ambienti basati su Windows. Quando questa override è impostata su true e il gruppo di disponibilità che ospita il database non è disponibile, il monitoraggio interrompe il rilevamento dello stato di tale database. Questa sostituzione è utile perché consente di evitare la generazione di avvisi che possono verificarsi quando si usa SQL Server 2012 a causa delle specifiche dell'architettura. Per le versioni successive di SQL Server, questa sostituzione non è necessaria.

Molti database nella stessa unità

Il monitoraggio dello spazio nel Management Pack può essere rumoroso in ambienti in cui molti database condividono lo stesso supporto e hanno l'impostazione di aumento automatico abilitata. In questi casi viene generato un avviso per ogni database quando la quantità di spazio disponibile sul disco rigido raggiunga la soglia.

Per ridurre il rumore, disattivare il monitoraggio dello spazio per i file di dati e di log delle transazioni e usare il Management Pack del sistema operativo per monitorare lo spazio sul disco rigido.

Monitoraggio della latenza di archiviazione del database

Il Management Pack per SQL Server raccoglie le metriche delle prestazioni di latenza lettura disco del database (ms) e latenza scrittura disco del database (ms) per ogni database. Inoltre, il Management Pack definisce due monitoraggi associati che registrano avvisi in caso di riduzione significativa delle prestazioni. Questi monitoraggi e regole di prestazioni sono disabilitati per impostazione predefinita. Abilitarli solo per database specifici quando necessario.

Sessioni bloccate

Il monitoraggio sessioni di blocco è progettato per eseguire query su ogni database per una sessione bloccata durante un periodo di tempo significativo. Se viene rilevato il blocco e supera la soglia specificata, lo stato viene modificato e viene generato un avviso.

È possibile applicare un override per modificare il parametro WaitMinutes usato per determinare se la sessione bloccata deve essere considerata a esecuzione prolungata. Il valore predefinito di questo parametro è un minuto.

Monitoraggio stato configurazione entità a protezione diretta

Questo monitoraggio controlla se ognuna delle entità a protezione diretta di SQL Server necessarie è accessibile con l'account RunAs configurato.

Di seguito è riportato un elenco completo di entità a protezione diretta controllate dal monitoraggio di destinazione del motore di database di SQL Server:

  • Autorizzazioni a livello di server

    • VIEW SERVER STATE
    • VIEW ANY DEFINITION
    • VIEW ANY DATABASE
  • Autorizzazione SELECT per le viste a gestione dinamica

    • master.sys.dm_hadr_availability_group_states
    • master.sys.dm_hadr_availability_replica_states
    • master.sys.dm_hadr_database_replica_cluster_states
    • master.sys.dm_os_performance_counters
    • master.sys.dm_tran_active_transactions
    • master.sys.dm_tran_session_transactions
    • master.sys.dm_exec_sessions
    • master.sys.dm_exec_requests
    • master.sys.dm_exec_connections
    • master.sys.dm_os_sys_info
    • master.sys.dm_os_ring_buffers
    • master.sys.dm_os_volume_stats
    • master.sys.dm_os_threads
    • master.sys.dm_server_services
    • master.sys.dm_db_xtp_checkpoint_files
    • master.sys.dm_db_xtp_table_memory_stats
    • master.sys.dm_db_xtp_hash_index_stats
    • master.sys.dm_resource_governor_resource_pools
    • master.sys.dm_db_index_physical_stats
  • Autorizzazione SELECT per le viste del catalogo

    • master.sys.dm_os_host_info
    • master.sys.availability_groups
    • master.sys.databases
    • master.sys.database_files
    • master.sys.tables
    • master.sys.filegroup
    • master.sys.syscolumns
    • master.sys.sysprocesses
    • master.sys.availability_replicas
    • master.sys.database_mirroring
    • master.sys.configurations
    • master.sys.indexes
    • msdb.dbo.syspolicy_policies
    • msdb.dbo.syspolicy_conditions
    • msdb.dbo.syspolicy_policy_execution_history
    • msdb.dbo.syspolicy_configuration
    • msdb.dbo.syspolicy_system_health_state
    • msdb.dbo.syspolicy_object_sets
    • msdb.dbo.syspolicy_policy_categories
    • msdb.dbo.syspolicy_target_sets
    • msdb.dbo.syspolicy_target_set_levels
    • msdb.dbo.syspolicy_policy_execution_history_details
    • msdb.dbo.sysjobschedules
    • msdb.dbo.syscategories
    • msdb.dbo.sysjobs_view
    • msdb.dbo.sysjobactivity
    • msdb.dbo.sysjobhistory
    • msdb.dbo.syssessions
    • msdb.dbo.log_shipping_primary_databases
    • msdb.dbo.log_shipping_secondary_databases
    • msdb.dbo.backupset
  • Autorizzazione EXECUTE per stored procedure

    • master.sys.sp_enumerrorlogs
    • master.sys.xp_readerrorlog
    • master.sys.xp_instance_regread
    • msdb.dbo.sp_help_job
    • msdb.dbo.agent_datetime
    • msdb.dbo.SQLAGENT_SUSER_SNAME

Di seguito è riportato un elenco completo delle entità a protezione diretta controllate dal monitoraggio destinato ai database di SQL Server:

  • Autorizzazione SELECT per le viste del catalogo
    • sys.database_files
    • sys.tables
    • sys.filegroups
    • sys.syscolumns

Nota

Alcuni monitoraggi possono avere proprietà con doppio carattere di sottolineatura nei nomi. Tali proprietà vengono utilizzate per scopi interni del Management Pack; assicurarsi di non usarli.

Monitoraggio dello stato di integrità WMI

Questo monitoraggio controlla se l'account RunAs configurato ha accesso agli spazi dei nomi seguenti che si trovano nell'istanza di SQL Server di destinazione:

  • ROOT\CIMV2
  • ROOT\Microsoft\SqlServer
  • ROOT\Microsoft\SqlServer\ComputerManagement11
  • ROOT\Microsoft\SqlServer\ComputerManagement12
  • ROOT\Microsoft\SqlServer\ComputerManagement13
  • ROOT\Microsoft\SqlServer\ComputerManagement14
  • ROOT\Microsoft\SqlServer\ComputerManagement15
  • ROOT\Microsoft\SqlServer\ComputerManagement16

Il monitoraggio genera un avviso nei casi in cui non è possibile accedere a uno degli spazi dei nomi precedenti.

Monitoraggio dei processi di SQL Server Agent

Il Management Pack per SQL Server è in grado di eseguire processi di Agent di monitoraggio delle prestazioni e disponibilità per SQL Server con i flussi di lavoro seguenti:

  • Monitoraggio dello stato delle ultime esecuzioni

    Questo monitoraggio controlla tutti i processi in SQL Agent e, se uno dei processi non è stato completato correttamente, il monitoraggio ne modifica lo stato in Avviso. Questo non genera un avviso perché è presente un override per disabilitare gli avvisi per controllare il rumore. Se si vuole eseguire questo livello di monitoraggio, è necessario eseguire l'override di Genera avvisi su abilitato.

    Il monitoraggio ha l'override di soglia Numero di errori, che indica il numero di volte in cui un processo di SQL Agent può avere esito negativo prima che lo stato del monitoraggio venga modificato in Avviso. L'override Definisce lo stato annullato in quanto non riuscito potrebbe tenere traccia dello stato dell'ultima esecuzione del processo annullato come non riuscito.

  • Monitoraggio dei processi a esecuzione prolungata

    Questo monitoraggio controlla i processi di SQL Agent con esecuzione prolungata. Se un processo è in esecuzione per più tempo rispetto alle soglie configurate, verrà visualizzato un avviso o un avviso di errore (minuti) e soglia critica (minuti).

    Per impostazione predefinita, questo monitoraggio non monitora i processi con tipo di pianificazione Avvia automaticamente all'avvio di SQL Server Agent perché questi processi vengono spesso eseguiti fino all'arresto di SQL Agent, ovvero continuamente. In genere, replica di SQL Server usa tali processi, ma in alcuni casi i processi con Avvio automatico quando SQL Server Agent avvia il tipo di pianificazione possono essere eseguiti per un intervallo relativamente breve. Per monitorare questi processi, eseguire l'override del parametro Processi eseguiti continuamente con un elenco delimitato da virgole dei nomi dei processi. Il nome del processo nell'elenco deve soddisfare i requisiti di una delle classi di identificatori seguenti:

    • Regolare

      • Può contenere qualsiasi carattere tranne il segno di virgole (,) e il segno di virgolette doppie (").
      • Non deve iniziare o terminare con uno spazio vuoto.
    • Delimitato

      • Può contenere qualsiasi carattere e deve essere delimitato da virgolette doppie.
      • Le virgolette doppie devono essere precedute dal raddoppio.

    Qualsiasi nome appartenente a una delle classi precedenti deve essere compreso tra 1 e 128 caratteri, esclusi i caratteri delimitatori.

  • Monitoraggio durata processo

    Questo monitoraggio controlla tutti i processi in SQL Agent e se uno dei processi richiede più tempo rispetto alla soglia specificata. Verrà visualizzato un avviso di avviso o di errore se una durata del processo è superiore alle soglie configurate- Soglia di avviso (minuti) e Soglia critica (minuti). Questo non genera un avviso perché è presente un override per disabilitare gli avvisi per controllare il rumore. Se si vuole eseguire questo livello di monitoraggio, è necessario eseguire nuovamente l'override di Genera avvisi su abilitato o usare la regola di avviso Durata processo.

  • Regola di avviso Durata processo

    Questa regola controlla se il tempo di esecuzione di uno dei processi di SQL Agent ha superato la soglia specificata in minuti e genera un avviso se il tempo di esecuzione ha superato la soglia.

  • Regola delle prestazioni durata processo

    Questa regola raccoglie la durata in minuti di uno dei processi di SQL Agent.

Monitoraggio dei certificati di crittografia della connessione di SQL Server

Il Management Pack per SQL Server fornisce il monitoraggio in grado di eseguire lo stato del certificato di crittografia della connessione di SQL Server.

SQL Server può usare TLS per crittografare i dati trasmessi attraverso una rete tra un'istanza di SQL Server e un'applicazione client. TLS usa un certificato per implementare la crittografia. Abilitando la crittografia TLS è possibile aumentare la sicurezza dei dati trasmessi nelle reti tra le istanze di SQL Server e le applicazioni. Per altre informazioni, vedere Gli articoli Panoramica dei certificati e Procedure di certificato.

Questo monitoraggio è destinato al motore di database di SQL Server in Windows e Linux e controlla il periodo di convalida dei certificati in giorni e i requisiti del certificato.

Importante

SQL Server non verrà avviato se esiste un certificato nell'archivio computer, ma soddisfa solo alcuni requisiti nell'elenco precedente e se è configurato manualmente per l'uso da Gestione configurazione SQL Server o tramite voci del Registro di sistema (solo per SQL Server in Windows). Selezionare un altro certificato che soddisfi tutti i requisiti o rimuovere il certificato da usare da SQL Server fino a quando non è possibile effettuarne il provisioning che soddisfi i requisiti. Per altre informazioni, vedere l'articolo Configurare SQL Server per la crittografia .

La tabella seguente definisce i parametri di override del monitoraggio e ottimizza i requisiti di convalida dei certificati per SQL Server:

Eseguire l'override del nome Descrizione
Nomi host aggiuntivi da controllare Per impostazione predefinita, il monitoraggio verifica che il certificato contenga il nome dell'entità del motore di database di destinazione. Questa sostituzione consente di controllare con un elenco delimitato da virgole di nomi host aggiuntivi, ad esempio il nome DNS del listener Always On, l'alias DNS del computer di hosting, il nome virtuale dell'istanza del cluster di failover e così via.
Il certificato deve essere configurato (solo per SQL Server in Windows) Se true, il monitoraggio modifica lo stato in critico quando un motore di database non dispone di un certificato configurato in modo esplicito.
Ignora il controllo "Radice non attendibile" Se true, il monitoraggio ignorerà che il certificato non viene inserito nelle autorità di certificazione radice attendibili. Se inseriti, questi certificati sono considerati attendibili dal sistema operativo e possono essere usati dalle applicazioni come riferimento per cui le gerarchie dell'infrastruttura a chiave pubblica (PKI) e i certificati digitali sono attendibili.
Impostare il flag 'IgnoreCertificateAuthorityRevocationUnknown' Ignorare che la revoca dell'autorità di certificazione è sconosciuta durante la determinazione della verifica del certificato.
Impostare il flag 'IgnoreCtlNotTimeValid' Ignorare che l'elenco di certificati attendibili (CTL) non è valido, per motivi quali il CTL è scaduto, quando si determina la verifica del certificato.
Impostare il flag 'IgnoreCtlSignerRevocationUnknown' Ignorare che la revoca del firmatario CTL (Certificate Trust List) è sconosciuta durante la determinazione della verifica del certificato.
Impostare il flag 'IgnoreEndRevocationUnknown' Ignorare che la revoca del certificato finale (certificato utente) è sconosciuta durante la determinazione della verifica del certificato.
Impostare il flag 'IgnoreInvalidBasicConstraints' Ignorare che i vincoli di base non sono validi quando si determina la verifica del certificato.
Impostare il flag 'IgnoreInvalidPolicy' Ignorare che il certificato abbia criteri non validi per determinare la verifica del certificato.
Impostare il flag 'IgnoreNotTimeNested' Ignorare che il certificato ca (autorità di certificazione) e il certificato emesso abbiano periodi di validità che non sono annidati durante la verifica del certificato. Ad esempio, il certificato della CA può essere valido dal 1° gennaio al 1° dicembre e il certificato emesso dal 2 gennaio al 2 dicembre, che indica che i periodi di validità non sono annidati.
Impostare il flag 'IgnoreNotTimeValid' Ignorare i certificati nella catena che non sono validi perché sono scaduti o non sono ancora in vigore quando si determina la validità del certificato.
Impostare il flag 'IgnoreRootRevocationUnknown' Ignorare che la revoca radice è sconosciuta durante la determinazione della verifica del certificato.
Impostare il flag 'IgnoreW cryptoUsage' Ignorare che il certificato non è stato emesso per l'uso corrente durante la determinazione della verifica del certificato.
Ignorare il controllo "Nome host" Se true, il monitoraggio ignora il controllo che il certificato contiene nomi host specifici.
Ignorare il controllo 'Key Usage Server Authentication' Se true, il monitoraggio ignora il requisito del certificato di autenticazione del server della presenza dell'estensione di utilizzo della chiave 'Autenticazione server'. Alcune implementazioni del driver di connessione potrebbero non verificare l'esistenza di questa estensione e potrebbero considerare il certificato valido anche senza l'estensione.
Ignorare il controllo 'Revoche' Se true, il monitoraggio ignorerà tutti i problemi relativi alla revoca.

Monitoraggio dello stato del backup dei certificati Transparent Data Encryption (TDE)

Il Management Pack per SQL Server fornisce il monitoraggio in grado di verificare che il certificato usato per crittografare la chiave di crittografia del database non sia stato sottoposto a backup.

Transparent Data Encryption (TDE) crittografa l'archiviazione di un intero database usando una chiave simmetrica denominata chiave di crittografia del database. È anche possibile proteggere la chiave di crittografia del database usando un certificato protetto dalla chiave master del database master. TDE esegue la crittografia e la decrittografia delle operazioni di I/O di file di dati e log in tempo reale. Per la crittografia viene usata una chiave di crittografia del database (DEK). Il record di avvio del database archivia la chiave per la disponibilità durante il ripristino. La chiave DEK è una chiave simmetrica e protetta da un certificato archiviato dal database master del server o da una chiave asimmetrica protetta da un modulo EKM. TDE consente di proteggere i dati inattivi, ovvero i file di dati e di log, e assicura la conformità a numerose leggi, normative e linee guida stabilite in vari settori. Gli sviluppatori di software possono ora crittografare i dati usando gli algoritmi di crittografia AES e 3DES senza modificare applicazioni esistenti. Per altre informazioni, vedere procedure consigliate per la sicurezza di SQL Server e articoli Transparent Data Encryption (TDE).

Nota

TDE non è disponibile per i database di sistema. Non può essere usato per crittografare master, modello o msdb. Tempdb viene crittografato automaticamente quando un database utente abilitato TDE, ma non può essere crittografato direttamente.

Monitoraggio delle query a esecuzione prolungata

Il Management Pack per SQL Server fornisce la regola in grado di generare un avviso se il tempo di esecuzione di una delle query SQL in esecuzione ha superato la soglia specificata (in secondi).

La regola supporta il filtro di personalizzazione degli avvisi con le sostituzioni seguenti:

  • Elenco di esclusione dell'applicazione: per escludere la query con il nome dell'applicazione
  • Elenco di esclusione database: per escludere la query con il nome del database
  • Elenco di esclusione query: per escludere la query con testo di query personalizzato

Queste sostituzioni supportano i caratteri jolly e possono essere usate per escludere query con esecuzione prolungata con il nome dell'applicazione, il nome del database o il testo della query stesso con valori delimitati da virgole. Ad esempio, usare condizioni come *test escludere le query che terminano con _testo Test* per escludere query che iniziano con Test, o *test* condizione per escludere query con una test voce in qualsiasi parte del testo della query.

Se un elemento deve contenere un asterisco (*) che non è un carattere jolly, virgolette doppie (") o barra rovesciata (\), l'elemento deve essere preceduto da un carattere di escape con una barra \rovesciata. Ad esempio, usare condizioni come Query\*3 escludere le query che contengono Query*3 nel testo della query, usare condizioni come \\path\\to\\ escludere query che hanno \path\to\ nel testo della query o "GO, WITH" condizione per escludere query con una "GO, WITH" voce con una virgola all'interno del testo della query. Le sostituzioni con elenchi di esclusione possono essere usate contemporaneamente.

La tabella seguente definisce i modelli con caratteri jolly che è possibile usare nelle espressioni:

Carattere Descrizione Esempio
? Individua un qualsiasi singolo carattere. È possibile usare il punto interrogativo (?) in qualsiasi punto di una stringa di caratteri. Quer? trova Query, Quer1, Quer_, Quer?, Quer*, ma non Query1 o Query.
* Trova la corrispondenza con un numero qualsiasi di caratteri. È possibile usare l'asterisco (*) ovunque in una stringa di caratteri. DB* trova database, DB1, DB2, DB_prod, ma non 1DB o database. *Il database trova 1DB, _DB, database di test, ma non 1DB_prod o D_Base. *DB* trova cloudDB_1, DBtest, 3DB, ma non prod_D_B o database.
" Trova la corrispondenza con un numero qualsiasi di caratteri tra virgolette doppie. È possibile usare le virgolette doppie (" ") ovunque in una stringa di caratteri. Se una stringa di caratteri contiene una virgola, la stringa deve essere racchiusa tra virgolette. "Instance, Database" trova un'istanza, una stringa di database con una virgola all'interno, ma non una stringa di istanza separatamente e una stringa di database. " Query con spazi iniziali e finali " trova una voce con tutti gli spazi inclusi tra virgolette doppie.

La tabella seguente definisce i modelli di escape che è possibile usare nelle espressioni:

Carattere Descrizione Esempio
\* Non un carattere jolly. Esegue l'escape dell'asterisco (*) in un punto qualsiasi di una stringa di caratteri. dbname\* trova dbname*, ma non dbname1, dbname_prod, dbnames.
\" Non un carattere jolly. Esegue l'escape delle virgolette doppie (") in qualsiasi punto di una stringa di caratteri. query \"example\" trova la query "example", ma non query\, esempio di query o "example".
\\ Non un carattere jolly. Esegue l'escape della barra rovesciata (\) in un punto qualsiasi di una stringa di caratteri. C:\\Path\\to\\ trova C:\Path\to\, ma non C:\, Path\\to.

Nota

Questa regola non fornisce i testi dell'esecuzione di query a causa di motivi di sicurezza.