Github

Automatizzare il test di una soluzione SQL Server con tSQLt, Docker e GitHub Actions!

Sergio Govoni

Nell’articolo precedente, il terzo di questa serie, abbiamo descritto come scrivere ed eseguire manualmente una unit di test per un trigger! In questo articolo verrà descritto come automatizzare il test di uno o più oggetti SQL Server utilizzando tSQLt, Docker e GitHub Actions!

Tecnologie e framework utilizzati

Le potenzialità del framework tSQLt sono state descritte nell’articolo “Il framework tSQLt e l’esecuzione di un test”:

https://www.ugiss.org/2020/11/07/unit-testing-il-framework-tsqlt-e-lesecuzione-di-un-test/

Docker è uno dei più diffusi sistemi per l’esecuzione di applicazioni in ambienti isolabili, minimali e facilmente distribuibili chiamati container. SQL Server 2017, e le successive versioni, possono essere eseguite in un container Docker, un tipico scenario di utilizzo di container è proprio quello che riguarda l’automazione dei test.

Esempi di SQL Graph Database su GitHub

SQL Server offre da sempre gli strumenti per gestire i dati gerarchici e le relazioni tra le entità. A volte, però, le relazioni tra le entità possono diventare complesse. Pensiamo ad una relazione molti-a-molti, i database relazionali non dispongono di soluzioni native per questo tipo di legame, che viene comunemente implementato con una tabella di associazione.

SQL Server 2017, grazie all’introduzione di Graph Database, permette di esprimere certi tipi di query più facilmente rispetto ad un database relazionale puro.

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.