Performance

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.

Statistiche di utilizzo e performance delle viste in un database SQL Server

Sergio Govoni

Le performance di una soluzione database sono spesso oggetto di diatriba tra chi fornisce la soluzione e chi la personalizza. Scrivere codice T-SQL ottimizzato, in grado di scalare all’aumentare dei dati e degli utenti, non è affatto semplice e quando la complessità aumenta, le attività di manutenzione del codice diventano difficili da attuare anche per l’autore stesso.

In questo articolo, condivido la metodologia di tuning e alcuni script che utilizzo per ottenere informazioni sulle performance delle query che utilizzano le viste presenti nel database oggetto dell’analisi. La presenza di viste nidificate contenenti query non ottimizzate può diventare oggetto di analisi specifica, gli script contenuti in questo articolo hanno l’obiettivo di fornire alcuni indicatori sull’utilizzo e sulle performance delle viste di un DB.

PASSGIVC - TSQL Advanced for Grouping and Windowing

Sergio Govoni

Il prossimo webinar del PASS Italian Virtual Chapter è programmato per mercoledì 21 marzo 2018 alle ore 18:00.

Andrea Martorana Tusa (@bruco441) ci spiegherà come utilizzare il linguaggio T-SQL in modo avanzato per effettuare operazioni di grouping e utilizzare le funzioni di windowing, nel webinar dal titolo “T-SQL advanced: Grouping and Windowing”.

Questo è l’abstract:

Lo scopo di questa sessione è esplorare le possibilità offerte del linguaggio T-SQL in termini di aggregazione e calcolo dei dati. C’è molto di più della sola clausola GROUP BY! Con le funzioni di aggregazione e di ranking, si possono calcolare direttamente nella stessa query, totali parziali, totali complessivi, si possono trovare intervalli in serie, selezionare l’ultimo valore non-null, ecc. Le funzioni di windowing si applicano invece ad un set di righe delimitato dalla clausola OVER (una “window” appunto). Le funzioni di windowing non effettuano l’aggregazione del gruppo a livello di riga e non nascondono i dettagli. Così è possibile mostrare dei dati di dettaglio e dei totali nella stessa query. La sessione è basata principalmente su un copioso numero di demo, che consentiranno di esplicitare al meglio i concetti introdotti. Per ogni soluzione, verrà anche valutato l’impatto in termini di performance.

Missing Index... Cache

Luca Bruni

Qualche settimana fa un collega mi ha sottoposto un quesito la cui risposta coinvolge alcuni concetti molto interessanti. La domanda più o meno era:

SQL Server mi dice che manca un indice, l’ho creato. Perchè eseguendo una query su sys.dm_db_missing_index_details trovo ancora l’indice come mancante? Come dico a SQL di aggiornare la DMV?

La risposta alla domanda è abbastanza semplice: una DMV non può essere aggiornata dall’utente. Unica componente con diritti di “scrittura” di questa particolare DMV è il Query Optimizer, che però va ad “aggiungere” informazioni. Se invece si vuole “svuotare” il contenuto della DMV.. beh.. non ci sono santi: serve riavviare l’istanza del server (come peraltro chiaramente riportato nella documentazione online)

Conversioni implicite: La plan cache ci svela quante sono e dove avvengono!

Sergio Govoni

Nell’articolo Conversioni implicite: cosa sono e che impatto hanno sulle nostre query, Luca Bruni (@mrg3d) ci ha parlato delle conversioni implicite che avvengono, a nostra insaputa, all’interno dell’Engine di SQL Server. Tali conversioni, possono costringere il Query Optimizer ad accedere alle tabelle con operazioni di scansione (Table Scan, Index Scan) in alternativa alle più efficienti operazioni di Seek (Index Seek), e quando una parte significativa del carico di lavoro è interessata da conversioni implicite, le performance degradano visibilmente!