Performance

Governo delle istanze\database SQL Server!

Gianluca Faini

Introduzione

L’obiettivo del presente articolo è quello di esporre una nuova metodologia di monitoraggio che ha lo scopo di governare le istanze SQL Server e d’integrare gli strumenti di monitoraggio.

Governare l’istanza SQL Server

Una delle cose necessarie per governare un’istanza e\o dei database SQL Azure, è quella di essere in grado di sapere quali sono i comandi che girano abitualmente sull’istanza e saper di rispondere ai molti quesiti che emergono ogni giorno in fase di amministrazione: problemi di lentezze applicative che vanno declinati nel comprendere se la componente database è la parte lenta o meno nonché se la causa sono stati i blocchi o il carico di quali comandi; stored procedure che degradano di performance nel tempo per le quali capire quale è lo statement lento e da quando ha iniziato a degradare; esigenze di deploy di nuovi database e scelta dell’istanza; richieste di lavoro in fasce orarie non abituali; comandi che ingrandiscono il TLOG e molte altre richieste.

Modalità di elaborazione query e indici columnstore

Sergio Govoni

In questo articolo verranno trattati i due metodi di elaborazione delle query conosciuti come Row mode execution e Batch mode execution per SQL Server 2019. Verrà inoltre descritto un meccanismo per attivare Batch mode execution su SQL Server 2017 anche quando non si possono creare indici columnstore “effettivi”.

Row mode execution

Row mode execution è un metodo di elaborazione delle query utilizzato con le tabelle tradizionali disk-based, in cui i dati vengono archiviati in formato riga. Le tabelle che utilizzano questo tradizionale formato di archiviazione vengono anche dette “rowstore table”. Quando una query viene eseguita e accede ai dati archiviati in formato riga, gli operatori previsti nel piano di esecuzione leggono ogni riga richiesta dalla query. Da ogni riga letta, SQL Server recupera quindi le colonne necessarie, specificate nell’istruzione SELECT, in un predicato di JOIN, in un predicato di filtro, ecc..

Predicati sargable e valori NULL

Sergio Govoni

In questo articolo parleremo del concetto noto con il nome di SARGability arricchendolo di alcune considerazioni sulla trattazione dei valori NULL su cui ho avuto modo di ragionare dopo aver partecipato ad una sessione di Itzik Ben-Gan e dalla quale ho tratto ispirazione.

Wikipedia definisce Sargable una condizione (o predicato) di una query se l’engine del DBMS può sfruttare un indice per accelerare l’esecuzione della query. Il termine Sargable deriva dalla contrazione di Search ARGument ABLE.

Webinar: Distributed Cache with SQL Server 2019

Sergio Govoni

Continuano i webinar gratuiti dello User Group Italiano di SQL Server, questo mese parleremo di come sia possibile implementare un key-value store ad alte prestazioni sfruttando la tecnologia In-Memory in SQL Server 2019. Nel case-study verranno presentate soluzioni reali implementate in ambienti di produzione business critical ad alta concorrenza. Ovviamente non mancheranno le demo!

Il webinar si terrà giovedì 28 gennaio 2021 alle ore 14:00, durerà un’ora e sarà tenuto da Gabriele Franco. Gabriele ricopre il ruolo di Database Administrator e Business Intelligence Specialist specializzato nella progettazione, realizzazione, ottimizzazione e migrazione di infrastrutture database SQL Server di grandi dimensioni, business critical e con altissima concorrenza. Ha iniziato a svolgere questo mestiere dal 2013 ed oggi lavora con le ultimissime tecnologie del mondo Microsoft sia su soluzioni on-premises che cloud.

1nn0va after hour: Mastering tempdb

Sergio Govoni

Il prossimo webinar della serie 1nn0va After Hour è programmato per Martedì 29 Dicembre 2020 alle ore 21:00.

Danilo Dominici (@danilo_dominici) ci spiegherà come gestire al meglio uno dei più importanti database di sistema dell’istanza SQL Server, il tempdb! Verranno trattati temi legati al dimensionamento, alle performance e al posizionamento fisico dei file dati e log di questo database di sistema!

Non mancate all’appuntamento Mastering TempDB!

Il webinar è gratuito, per effettuare la registrazione e ricevere il link per partecipare, puntate il vostro browser qui.