Troubleshooting

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.

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)

PASS GIVC – Rispondere agli Extended Event in tempo reale

Sergio Govoni

Il prossimo webinar del PASS Italian Virtual Chapter è programmato per mercoledì 7 dicembre 2016 alle ore 18:00.

Gianluca Sartori (@spaghettidba) ci spiegherà come sia possibile “Rispondere agli Extended Event in tempo reale”.

Questo è l’abstract del webinar:

Gli Extended Event consentono di accedere a informazioni molto dettagliate riguardo il comportamento interno di SQL Server. Tuttavia, confrontate con altre tecnologie come SQL Trace e Event Notifications, sembra mancare un modo per reagire ad un evento non appena si verifica. In questa sessione vedremo come gli Extended Events possono essere processati in tempo reale utilizzando la streaming API. Dimostreremo inoltre come questa tecnologia apre nuovi scenari e nuove possibilità per risolvere problemi comuni, come ad esempio catturare e notificare deadlock e sessioni bloccate.

Lista Trace Flags Ufficiale

Davide Mauri

Il SQL Server Tiger Team si sta occupando, tra le altre cose, di tenere aggiornata la lista di tutti i trace flag disponibili in SQL Server per modificare il funzionamento nel caso sia assolutamente necessario. La lista è disponibile qui:

http://aka.ms/traceflags

Occhio, come al solito, che i trace flags non sono da usare alla leggera, quindi usateli se e solo se è strettamente necessario!

Se vi state chiedendo, invece, cosa sono i trace flags, riporto la definzione qui:

Problemi VSS e SQL Server Backup to Windows Azure Tool

Gianluca Hotz

Chi ha visto la mia presentazione Microsoft Virtual Accademy sulle diverse tecniche per fare i backup integrandosi con Azure Blob Storage forse ricorderà il “SQL Server Backup to Windows Azure Tool” che in maniera trasparente intercetta i comandi di BACKUP e RESTORE di SQL Server dirottandone il contenuto da e verso Azure Blob Storage.

Si tratta di un meccanismo interessante perché a partire dalla versione 2005 di SQL Server permette di fare i backup: