Performance

Perfmon Vault: contatori Perfmon in SQL Server

Gianluca Hotz

Perfmon Vault è un mini-progetto work in progress che ho realizzato per importare contatori Perfmon (Windows e/o SQL Server) in SQL Server e conservarli a lungo termine per analisi storiche e trend.

Perché Ordered Columnstore?

Il progetto nasce come PoC per capire come sfruttare al meglio l’Ordered Clustered Columnstore Index, introdotto in SQL Server 2025.

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!

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!

PASSGIVC – Monitoraggio di Reporting Services

Sergio Govoni

Il prossimo webinar del PASS Italian Virtual Chapter è programmato per mercoledì 30 Gennaio 2019 alle ore 18:00.

Lorenzo Vercellati di SolidQ (@supergimi) spiegherà come fare il Monitoraggio di Reporting Services. Per effettuare la registrazione, puntate il vostro browser qui.

Questo è l’abstract del webinar:

Quando si realizza una piattaforma di reportistica, il lavoro non si esaurisce mai con la pubblicazione dei report. Una volta pubblicati infatti, poterne monitorare l’effettivo utilizzo e le performance rimane una risorsa fondamentale per garantire efficienza e fruibilità del proprio sistema di reportistica. Sapere chi utilizza quali report, come e quando, permette di mantenere in efficienza quanto implementato migliorando il servizio all’utente e riducendo i costi di manutenzione dei reports. A maggior ragione oggi che le numerose novità, dall’integrazione dei mobile reports a quella con Power BI, hanno decisamente rilanciato le quotazioni di SSRS. In questa sessione analizzeremo la struttura del database di Reporting Services alla ricerca degli usage e performance counter a disposizione, utili per realizzare una vera e propria dashboard di monitoraggio. Scopriremo inoltre i diversi livelli di profondità delle informazioni in base alla versione, compresa Power BI Rerport Server.