Scripts

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

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!

Manutenzione indici colonnari: una ricostruzione accorta

Massmiliano Buschi

Avete presente le procedure di manutenzione degli indici di Hola Hallengren?

Se no, vi consiglio di guardarle perché sono molto utili. Ecco il link: https://ola.hallengren.com/sql-server-index-and-statistics-maintenance.html

Se le conoscete, magari vi è capitato di notare che, nelle versioni più recenti di SQL Server, la manutenzione degli indici colonnari richiede uno sforzo ulteriore.

A questo proposito vi segnalo un articolo di dal blog Microsoft:

https://blogs.msdn.microsoft.com/sqlcat/2015/07/08/sql-2014-clustered-columnstore-index-rebuild-and-maintenance-considerations/

Quello che occorre ricordare è che la ricostruzione dell’indice è più pesante rispetto ad un B-Albero e si compone di una fase iniziale di costruzione del dizionario che non è parallelizzabile. Inoltre la dimensione del dizionario e il grado di parallelismo durante la creazione/manutenzione dell’indice influiscono sulla forma finale dell’indice colonnare.

SQL Azure DTU Calculator

Davide Mauri

Una delle domande più comuni quando si inizia ad utilizzare SQL Azure è legata alla scelta del livello di servizio necessario per la proprie necessità. Dato che sul Cloud, ogni risorsa sprecata è un tangibile costo aggiuntivo, è bene scelgliere il livello di servizio migliore. Il “problema” è che il livello è misurato in DTU - Database Transaction Units - ossia un valore che rappresenta un mix di CPU, Memoria ed I/O. Il problema è che è molto difficile, se non impossibile, calcolare questo valore per un server on-premises già esistente, in modo da poter aver un paragone con dei dati conosciuti.

Slide e demo della sessione "SQL Server 2016 What's new for Developers"

Davide Mauri

Sono online le slide e le demo della sessione fatta all’evento “Buon Compleanno UgiDotNet” tenutosi qualche giorno fa presso la sede di Microsoft Italia.

SQL Server 2016: novità per gli sviluppatori (Davide Mauri - MVP)

Supporto Nativo a JSON, Tabelle temporali, Live Query Statistics, Stretch Database e Polybase sono feature che senza dubbio sono di sicuro interesse per chi sviluppa app, di qualsiasi genere. In questa sessione vedremo le prime tre feature con un certo dettaglio ed introdurremo le potenzialità delle ultime citate per poter dare un quadro completo di SQL Server 2016 che è una della release più ricche ed importanti, per quanto riguarda lo sviluppo, da SQL Server 2005 in avanti. Non mancherà, ovviamente, una “piccola” citazione a SQL Server per Linux.

Qual è la tabella più grande nel DB corrente?

Sergio Govoni

Può succedere di avere la necessità di sapere quale sia la tabella più grande (in termini di spazio occupato), nel database su cui si sta lavorando.

Ci sono diversi modi per rispondere a questa domanda, si potrebbe utilizzare il report standard Disk Usage by Top Table fornito da SQL Server Management Studio (SSMS) oppure, se si volesse effettuare l’operazione attraverso T-SQL, si potrebbe eseguire la stored procedure di sistema sp_spaceused per ogni tabella del DB, salvando tutti i risultati parziali in una tabella temporanea per poi ordinarli in funzione della colonna “reserved” o “data”.

Real Time Power BI

Davide Mauri

Una delle feature più interessanti di PowerBI è che, come al solito, non è “solamente” un prodotto, ma è di fatto una piattaforma utilizzabile liberamente ed integrabile con applicazioni custom. A questo proposito ho fatto una sessione dedicata a questo tema al SQL Saturday d Ljubjlana.

[slideshare id=56076686&doc=real-timepowebi-151212092739]

 

Se siete interessati a capire come funzionano le API di PowerBI, come potete creare Dashboard in tempo reale e come potete fare il tutto direttamente dalle vostre applicazioni, qui trovate slide e demo:

SQL Server & R: Data Science End-to-End Walkthrough

Davide Mauri

Con l’integrazione di R in SQL Server, si apre un mondo di possibilità per tutti coloro che vogliono/devono analizzare i dati per capire come poterli usare al meglio. Microsoft, per aiutare a capire come sfruttare questo enorme potenziali, ha creato un tutorial dedicato:

Data Science End-to-End Walkthrough

Questi i singoli step:

Tutti gli script usati sono disponibili su GitHub qui:

SSIS Dashboard: Community Project!

Davide Mauri

L’anno scorso ho pubblicato su GitHub un progetto dedicato alla creazione di una Dashboard per SQL Server Integration Services (dalla versione 2012 in avanti). L’idea è quella di utilizzare tutti i dati che sono disponibili nel database SSISDB e renderli fruibili in modo più

  • bello
  • user friendly
  • utile
  • web
  • mobile

La dashboard permette di vedere lo stato di esecuzione dei Package SSIS, monitorare alcuni indicatori fondamentali (ad esempio se i package stanno avendo problemi di memoria oppure i lookup hanno trovato dei dati duplicati nei propri dataset), oltre che di vedere l’andamento delle performance nel tempo (e di fare una semplicissima previsione sul futuro, per ora calcolata tramite una banale media mobile). E’ inoltre possibile vedere il dettaglio di esecuzione del package e di ogni suo task, e, chiaramente, verificare se ci sono stati errori o warning.

SQL Server Maintenance Solution

Gianluca Hotz

La diffusissima soluzione di Ola Hallengren per la manutenzione completa di SQL Server è stata aggiornata e testata per SQL Server 2014 con l’aggiunta di opzioni per le nuove funzionalità:

  • Backup Encryption
  • lock priorities per la ricostruzione online degli indici
  • ricostruzione online di singole partizioni di indici
  • aggiornamento delle statistiche per le tabelle memory-optimized

Script e documentazione sono disponibili al seguente link: http://ola.hallengren.com

Calcolo della cifra di controllo di un codice EAN/UCC (versione 2.0)

Sergio Govoni

Qualche tempo fa, in questo articolo, abbiamo analizzato l’algoritmo di calcolo della cifra di controllo di un codice UCC/EAN, chi si occupa di logistica conoscerà bene l’argomento.

Lo standard di codifica UCC/EAN richiede che ogni codice generato termini con una cifra compresa tra zero (0) e nove (9), chiamata cifra di controllo (dall’inglese check digit). Questa cifra è calcolata in funzione delle altre cifre che compongono il codice e ha lo scopo di garantire che il codice, stampato in formato barcode, sia interpretato correttamente dal lettore ottico.