Tips-Tricks

JSON support is generally available in Azure SQL Database

Emanuele Zanchettin

Generalmente disponibile il supporto JSON per Azure SQL Database

Azure Blog post

MSDN Blog post

I nuovi database creati in Azure SQL Database hanno di Default il Compatibility Level 130, i database creati da qualche tempo hanno invece Default il Compatibility Level 120.

Per controllare il compatibility level corrente SELECT name, compatibility_level FROM sys.databases WHERE name = 'database_name';

Se compatibility_level non è uguale a 130, è necessario impostarlo ALTER DATABASE database_name SET COMPATIBILITY_LEVEL = 130

Usare json su SQLServer 2005, 2008, 2012 e 2014 .. è possibile!

Vedere il supporto nativo di JSON su SQLServer 2016 (e anche su Azure SQLDatabase) mi ha fatto pensare che magari era possibile averlo in forma semplificata anche su versioni precedenti.

Tutto è nato dalla necessità di gestire un flusso di dati con una Stored Procedure in arrivo da una WebAPI. Inizialmente la WebAPI, dopo aver fatto gli opportuni controlli logici di validità, deserializzava il flusso per poi formattare una stringa da passare alla Stored Procedure. La gestione del parametro in ingresso alla SP come TABLE non sembrava possibile utilizzando EF6, quindi si è optato di mantenere la SP nello stato originale, ovvero con la stringa e altri parametri per i caratteri separatori.

Come effettuare il Debug di un Trigger (T-SQL)

Sergio Govoni

I più importanti linguaggi di programmazione hanno strumenti di debug integrati direttamente nell’IDE. Il debugger ha tipicamente un’interfaccia grafica che consente di esaminare i valori che assumono le variabili durante l’esecuzione, il flusso del programma (step-by-step) e permette di definire punti di interruzione in corrispondenza dei quali fermare l’esecuzione del programma.

Ogni sviluppatore ama gli strumenti di debug, specialmente quando deve capire perché un programma genera un errore o quando viene effettuato un calcolo errato.

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”.

Data Warehouse con SQL Server: Architetture Fast Track

Una degli ambiti principali delle consulenze che svolgo è quello di creare soluzioni per Data Warehouse e Business Intelligence ad alte performance. Ed una della cose che ancora, all’alba del 2016, mi trovo a dover affrontare e con la quale devo  combattere tutti i giorni è un hardware…inadeguato.

Inadeguato per un Data Warehouse, chiaramente, dove macchine anche molto costose (leggi SAN) hanno delle performance assolutamente basse rispetto al costo che hanno (essendo il più delle volte ottimizzate per altri casi d’uso), e che quindi rendono l’utente finale solitamente molto poco contento.

Boost Your T-SQL with the APPLY Operator

Davide Mauri

Microsoft Virtual Accademy ha pubblicato un bel webcast fatto da Itzik Ben-Gan dedicato all’uso dell’operatore APPLY, estremamente potente e tipicamente poco utilizzato. Di seguito il link:

Boost Your T-SQL with the APPLY Operator

Need creative solutions to T-SQL issues? Get them from Itzik Ben-Gan, one of the world’s foremost authorities, along with Microsoft Program Manager Umachandar Jayachandran. These experts demonstrate the APPLY operator, a T-SQL feature that can be used to solve a wide variety of problems. What’s especially interesting about APPLY is how it can be used in conjunction with many T-SQL features. To demonstrate this aspect of APPLY, the session tracks the operator through time, discussing features that were initially introduced in different versions of SQL Server (7.0, like TOP, through 2012, like OFFSET-FETCH), some of which are widely used today. For each feature, the session describes its shortcomings and then shows how to use APPLY to overcome it and to improve the feature.

SSIS 2008 Tips and Tricks

Sergio Govoni

Steve Swartz, Group Program Manager SSIS Team, in una delle sessioni che ha tenuto al TechEd Europe 2010 ha parlato di SSIS Tips & Tricks.

Se state lavorando a un nuovo progetto con SQL Server Integration Services o se dovete migliorare le performance di un progetto (insieme di package) esistente, ma non avete tempo a sufficienza o risorse economiche per iniziare da zero il tuning delle performance, vi consiglio di investire 60 minuti guardando questo webcast.

Generare codice SQL senza eseguirlo.

Davide Mauri

Vediamo come creare codice SQL al volo (quindi senza apportare alcuna modifica “reale” alla base dati) utilizzando le potenzialità di generazione degli script fornita da SMO:

Non dimentichiamoci degli imports …

Imports Microsoft.SqlServer.Management.Smo
Imports Microsoft.SqlServer.Management.Common

Ci colleghiamo al server di nostro interesse …  

Dim serconn As New ServerConnection(“Istanza”, “userName”, “Password”)
serconn.LoginSecure = False ’ Usando le credenziali di SQL Server …

Creiamo l’oggetto server  …

Dim _server As New Server(serconn)