Health Check di SQL Server

Verificare lo stato di salute di SQL Server è fondamentale per prevenire problemi ed evitare interruzioni dei servizi informativi aziendali.

Cosa significa Health Check?

Un Health Check è un controllo approfondito dello stato di salute di un database server o di un singolo database in esso contenuto, che dovrebbe essere effettuato regolarmente per assicurarsi che sia stata effettuata una corretta configurazione e che il sistema sia stabile ed affidabile. 


Perché occorre effettuare l'Health Check dei database?

Un Health Check regolare garantisce di avere sotto controllo la configurazione e lo stato di salute dell'istanza di SQL Server e dei database aziendali. Database efficienti riescono a garantire le performances richieste per l'esecuzione corretta degli applicativi aziendali. Considerando la crescente importanze dei programmi di ogni tipo in azienda, dal preventivatore al software gestionale ai sistemi di ticketing e assistenza, è facile comprendere come questo tipo di controllo sia fondamentale, anche se da solo non è sufficiente. 


Inoltre, una configurazione corretta permette di verificare che le licenze di SQL Server siano appropriate al sistema in uso, evitando eventuali sanzioni oppure, più spesso, risparmiando denaro, dato che consente di scegliere le licenze più convenienti.


Quali tipi di Health Check sono disponibili?

Per prima cosa, va effettuata una distinzione tra i principali tipi di Health Check disponibili per SQL Server:

  • Server Health Check
  • Database Health Check

Health Check dei database

Questo tipo di controllo si focalizza sui singoli database contenuti nell'istanza. Questo Health Check è utile in quanto in SQL Server sono possibili numerose impostazioni a livello di database che con un controllo dell'istanza non vengono verificate. Un esempio di queste impostazioni possono essere  lo stato degli indici del database o alcune query che posso risultare particolarmente pesanti su quello specifico database.


Health Check del database server

Corrisponde al controllo dell'istanza di SQL Server, in cui si va a dettagliare lo stato di salute e la configurazione della medesima.


Chi effettua l'Health Check

Questo tipo di controllo spetta all'amministratore di database o DBA. Sono inoltre disponibili alcuni programmi e script automatici che effettuano una serie di controlli in modo autonomo.


Come si fa l'Health Check di SQL Server

La procedura di un Health Check di SQL Server prevende quattro passaggi principali:

  1. Analisi approfondita dell’infrastruttura utilizzata dal sistema DBMS. Questo permette di individuare eventuali problemi a livello hardware, impostazioni mancanti a livello di sistema operativo, deficit a livello applicativo, configurazione del database.
  2. Assessment delle reali necessità di risorse legate al vostro business. In modo si possono definire correttamente le risorse hardware e software necessarie in relazione al volume delle transazioni del tuo sistema informativo.
  3. Verifica dei requisiti indispensabili per garantire la continuità e la sicurezza del business in caso di eventi inaspettati, quali disastri o esecuzioni involontarie di codice ed altre anomalie, intrusioni, causa di perdite di dati.
  4. Report esaustivo che descrive in modo comprensibile al personale IT l’elenco degli interventi necessari in ordine di importanza per raggiungere una performance più elevata, massimizzare la disponibilità e la sicurezza.

I controlli che effettua l'Health Check

Il servizio di Health Check che offriamo in Datamaze verifica la configurazione e misura le performance degli ambienti mission critical nelle seguenti aree:
  • Disponibilità dei database per garantire la funzionalità dei sistemi.
  • Prestazioni per l’esecuzione efficiente delle applicazioni.
  • Pianificazione della capacità.
  • Sicurezza dei dati.
  • Configurazione dell'istanza SQL Server e dei database, a seconda del tipo di Health Check che viene effettuato.


Oltre al servizio vero e proprio, vanno valutate anche le competenze e l'esperienza di chi lo esegue: la specializzazione sul DBMS da controllare è infatti fondamentale.

Gli strumenti che utilizziamo durante un Health Check

Durante gli Health Check di SQL Server che effettuiamo in Datamaze, utilizziamo una serie di strumenti specifici:

  1. Script  SQL Server Diagnostic queries di Glenn Berry.
  2. Stored Procedure SP Blitz del set di script First Responder Kit Brent Ozar First Aid.
  3. Redgate SQL Monitor.
  4. SQL IO, SQL IOSIM di Microsoft.
  5. SQL Catcher per SQL Server.
  6. Powershell.

L'Health Check di SQL Server è sicuro?

La procedura che viene utilizzata durante gli Health Check garantisce la massima sicurezza dei dati memorizzati all'interno dei database. I controlli, effettuati tramite apposite query, vanno ad analizzare esclusivamente configurazione e prestazioni, senza mai accedere ai dati. 


I risultati dell'Health Check

Grazie alle competenze acquisite direttamente sul campo, siamo in grado di realizzare report articolati con analisi interpretate e suggerimenti pratici per il miglioramento dell’infrastruttura SQL Server. Tutti i nostri report vengono realizzati su misura, basandosi sui dati rilevati, dando così un effettivo e concreto valore aggiunto all'analisi.


Quando occorre effettuare l'Health Check di SQL Server?

Solitamente, presso i nostri clienti, eseguiamo questa attività dalle due alle quattro volte all’anno. La frequenza dell’attività in questione varia a seconda della complessità, degli attori coinvolti e del tipo di carico di lavoro che il sistema deve sostenere. È buona norma effettuare come prima cosa questa attività quando si inizia una nuova collaborazione, soprattutto su sistemi non realizzati da noi e che quindi abbiamo bisogno di conoscere.


Come scegliere un Health Check per SQL Server

Un’analisi completa di un'infrastruttura SQL Server deve prendere in considerazione vari aspetti di tutti gli ambienti mission critical aziendali, essere ripetuta regolarmente ogni pochi mesi e consentire l’adozione di un approccio proattivo, per poter intervenire e risolvere eventuali problemi prima che diventino criticità bloccanti per il business.


In altre parole, un buon Health Check, eseguito ad intervalli regolari, ad esempio una volta ogni due o tre mesi, è un’attività fondamentale della più ampia gestione dei database e consente di evitare che i database diventino troppo lenti o causino il blocco di applicazioni fondamentali per il business come ad esempio gestionali o preventivatori.


Per maggiori informazioni sul servizio di Health Check Datamaze, consulta la pagina dedicata o guarda il nostro webinar.


Oltre l'Health Check: SQL Catcher per SQL Server

Da una parte il monitoraggio continuo non può prendere in considerazione tutti gli aspetti che vengono invece valutati durante un Health Check. A sua volta l’Health Check, essendo eseguito in momenti spesso molto lontani l’uno dall’altro, non può rendere conto di tutte le variazioni, anche molto rapide, che possono verificarsi su un database server. Per questo abbiamo realizzato SQL Catcher, un sistema automatizzato che effettua giornalmente tutti i controlli necessari ad aggiornarti sull’efficienza e lo stato di salute delle tue istanze SQL Server.