• 20100 Milano, ITA

  •  

SQL EASY MONITOR = GOVERNO DELLE ISTANZE\DB SQL SERVER

Governare le istanze SQL Server, significa saper rispondere alle domande e necessità che sorgono ogni giorno. Per fare ciò è necessario sapere quali sono i comandi che vengono eseguiti nelle istanze e quando questi sono in corso. SQL Easy Monitor registra i comandi e permette di rispondere a questi quesiti nonchè individuare e risolvere qualsiasi situazione di lentezza accaduta sull'istanza SQL Server. Per vedere un overview di SQL Easy Monitor, consultare il video al seguente link .

 

METODOLOGIA

La metodologia di monitoring di Microsoft non permette di individuare in modo semplice i comandi in corso in un punto del tempo ovvero quando vengono segnalate lentezze. SQL Easy Monitor utilizza una nuova metodologia che si basa sulla 'fotografia' dei comandi in 'running' ogni 1 minuto. Questa modalità, testata in ambienti Enterprise, consente di avere una granularità di registrazione che permette in modo semplice di comprendere i problemi dell'istanza SQL Server quando essi accadono. ALTRE INFO'


FUNZIONALITA' \ NECESSITA'

Oltre ad individuare i problemi allo scopo di sistemarli, la registrazione del payload, permette di supportare anche altre necessità. L'utilizzo di SQL Profiler e\o Extended Events è costoso in termini di tempi e risorse e non permette di supportare tutte le necessità di un amminstratore di database. Al seguente link i dettagli di necessità e funzionalità: UTILIZZO DELLE REGISTRAZIONI'


FUNZIONALITA' \ NECESSITA' - DETTAGLI

E' la funzionalità principale per cui è nato il software. Se un problema accade ad esempio alle 11.00 AM è possibile analizzare il problema successivamente, 5 minuti dopo piuttosto che il giorno successivo. La registrazione del payload permetterà di individuare gli statement che stavano caricando il server nel momento del problema.

Analizzando il payload, i picchi di esecuzione degli statement SQL, gli statement che impiegano più tempo rispetto alle esecuzioni abituali, piuttosto che il degrado dei tempi di esecuzione a parità di statement SQL , è possibile comprendere se l'instanza SQL oppure l'hardware della macchina è sotto dimensionato e di conseguenza il delivery di un nuovo database è sensato su una nuova istanza o meno.

In caso di necessità di lavorare i fasce orarie insolite, come ad esempio a valle di un evento di elezioni politiche piuttosto che un evento sportivo è possibile analizzare il payload SQL nella fascia oraria insolita, al giorno prima piuttosto che la settimana prima nello stesso giorno e capire se gli statement SQL erano performanti oppure il server era rallentato e quindi si osservano molti comandi con tempi insolitamente lunghi. In tal caso è possibile individuare cosa rallenta ed agire magari stoppando alcuni job e\o servizi non fondamentali, allo scopo di diminuire il carico solo nel momento del bisogno.

A volte si perde il controllo di quando degli statement SQL vanno in esecuzione. Analizzando il payload è possibile sapere quali Applicazioni, HostName e Login mandano in esecuzione quali comandi e quando. Questo permette agli amministratori di dare risposta agli sviluppatori che ne fanno richiesta.

A volte un semplice comando consuma molte risorse. La registrazione del payload, permette facilmente di individuare gli statement dannosi che rallentano l'hardware ed intervenire con azioni di tuning.

Una volta individuato uno statement SQL dannoso che rallenta il server ad un orario specifico tutti i giorni e fatto il tuning (magari aggiungendo un indice) è necessario valutare i tempi di esecuizione il giorno successivo. Registrando il payload SQL questo è molto semplice e non è necessario alcun ulteriore impiego di tempo con SQL Profiler e\o Extended Events bensì è sufficente analizzare la registrazione del giorno successivo.

Spesso il mondo database è borderline tra amministratori e sviluppatori. I primi danno la colpa dei rallentamenti ad hardware poco performante mentre i secondi danno la colpa a codice scritto male. Il risultato è che ci sono rallentamenti e nessuno vuole responsabilità. Utilizzando la registrazione del payload SQL, è semplice individuare i comandi dannosi e compendere se sono scritti e disegnati bene oppure è necessario fare tuning. La causa potrebbe essere anche ad un aumeto di carico dovuto a nuove esigenze applicative e\o nuovi rilasci piuttosto che aumento di volumi. L'analisi del payload SQL è il punto di partenza per comprendere in modo sicuro da dove arrivano i problemi.

In caso di necessità di rilascio di nuove funzionalità appicative che necessitano di elaborazioni pesanti è bene che non si sovrappongano a momenti di carico del server. Analizzando il payload SQL è possibile individuare le fasce orarie in cui il server è meno carico.