Vediamo nel dettaglio i vari controlli eseguiti.
Controllo ultimo riavvio dell’istanza SQL Server
Avvisiamo l’utente se ci risulta un riavvio dell’istanza nelle ultime 24 ore. Chiaramente questo evento non rappresenta un problema se il riavvio dell’istanza è motivato (sono stati fatti degli update o dei cambi di configurazione che necessitavano di un riavvio per essere effettivi, una manutenzione programmata, eccetera).
Tuttavia ci capita spesso di vedere utenti che quando SQL Server ha dei problemi di performance o altre motivazioni cercano di risolvere il problema con il classico riavvio dell’istanza. Questa non è una buona pratica in quanto un riavvio dell’istanza porta con se tutta una serie di conseguenze: lo svuotamento del Buffer Pool dove SQL Server registra tutte le pagine dati che sono state lette da disco, uno svuotamento del Plane Cache dove vengono registrati i piani di esecuzione delle query che SLQ Server utilizza per rendere più veloci le esecuzioni delle query stesse (obbligando SQL Server per ogni nuova esecuzione di query dopo il riavvio di andare a riscrivere fisicamente il piano di esecuzione nella cache), eccetera.
Controllo spazio su disco
Per tutti i dischi su cui sono salvati i file dei database verifichiamo lo spazio libero rimasto. Avvisiamo se lo spazio libero su disco è inferiore del 20% dello spazio totale (prima soglia di avviso) e quando è inferiore del 10% (seconda soglia di avviso).
Controllo tempi di latenza dei dischi
Per tutti i dischi su cui sono salvati i file dei database verifichiamo i tempi di latenza in scrittura e in lettura. Avvisiamo se tali tempi sono superiori a 40ns, soglia oltre la quale vale la pena tenere monitorato la situazione per eventuali problemi di performance.
Controllo stato dei database
Con questo controllo riportiamo il numero di eventuali database che hanno cambiato stato (online/offline) rispetto al controllo precedente. Nella sezione database, di conseguenza, si vedrà il nome dei database che hanno cambiato stato.
Controllo stato del servizio SQL Agent
Il servizio SQL Agent non è disponibile nella versione Express di SQL Server (oltre ad altre limitazioni che la versione Express porta con sé). Essendo il servizio SQL Agent un servizio fondamentale, avvisiamo l’utente se vediamo che tale servizio è disabilitato. Può infatti succedere che, in seguito a qualche riavvio o aggiornamento dell’istanza o a qualche operazione accidentale (soprattutto se SQL Server Agent è impostato con riavvio manuale), il servizio rimanga accidentalmente spento compromettendo l’esecuzione di tutte le attività schedulate in background.
Controllo log di SQL Server
Al momento avvisiamo se nel log di SQL Server si evidenziano dei login all’istanza falliti oppure se il database tempdb sta assumendo dimensioni anomale. Nel caso in cui il file di log sia piuttosto corposo consigliamo al cliente di fare delle verifiche manuali sul file di log stesso per ispezionare eventuali errori importanti.
Controllo cambi di configurazione a livello di istanza
Avvisiamo l’utente se sono avvenute delle modifiche a livello di istanza rispetto al controllo precedente. In particolare, segnaliamo variazioni inerenti i seguenti parametri di configurazione.
Fonte notizia
www.datamaze.it blogs post i-controlli-di-sql-catcher-avvisi-e-notifiche-importanti