Publications

MERGE and Triggers

Sergio Govoni

Abbiamo parlato del comando MERGE nell’articolo MERGE Statements in Action, ora invece tratteremo un approfondimento che ci permetterà di comprendere le regole di attivazione degli eventuali trigger presenti nella tabella target, oggetto delle operazioni DML specificate nelle clausole del comando MERGE.

L’esecuzione delle azioni specificate nelle clausole del comando MERGE scatena l’attivazione dei trigger come una qualsiasi operazione DML. Esiste però una particolarità interessante: verrà scatenata una sola occorrenza di ogni trigger, in risposta al comando MERGE, anche in presenza di esecuzioni multiple della stessa azione da parte di quest’ultimo. Come sempre, i trigger avranno accesso alle tabelle virtuali inserted e deleted che conterranno tutte le righe modificate dallo statement.

FILESTREAM Attribute

Sergio Govoni

Tra le numerose novità introdotte con SQL Server 2008 troviamo anche il nuovo attributo FILESTREAM che integra l’intelligenza del query processor di SQL Server con l’immediatezza del file system per la memorizzazione di file di grandi dimensioni.

Quante volte ci siamo chiesti dove fosse meglio memorizzare file di grandi dimensioni, come ad esempio file video, multimediali o semplicemente documenti nei formati Microsoft Office. Fondamentalmente due le possibili soluzioni: nel file system oppure all’interno del DB, in colonne di tipo BLOB (Binary Large Object). Da qui l’analisi dei vantaggi e degli svantaggi di ognuna delle due soluzioni, ma in entrambi i casi, comunque, abbiamo dovuto accettare gli svantaggi della soluzione scelta. Probabilmente, il più delle volte abbiamo scelto di tenere fuori dal DB i dati non strutturati per evitare ad esempio file di backup di dimensioni elevate, a discapito però della semplicità di gestione e accettando limitazioni nelle funzionalità di flusso.

Table-Valued Parameters in Action

Sergio Govoni

SQL Server 2008 recepisce una richiesta che gli sviluppatori avevano inoltrato a Microsoft già da parecchio tempo, ossia la possibilità di passare a stored procedure e function definite dall’utente, parametri di tipo tabella ovvero Table-Valued Parameters (TVPs).

Nelle precedenti versioni di SQL Server, la necessità di passare una struttura dati come parametro ad una stored procedure o ad una function veniva spesso risolta con un workaround che consiste nel passare parametri di tipo XML o Comma Separeted String. Queste soluzioni, tipicamente, richiedono però la stesura di parecchio codice T-SQL che difficilmente potrà scalare in modo ottimizzato in funzione della quantità dei dati trattati.

Free ebook: Introducing Microsoft SQL Server 2008 R2

Sergio Govoni

In occasione del PASS European Conference 2010, che si sta svolgendo proprio in questi giorni a Neuss in Germania, verrà ufficialmente lanciata la versione R2 di SQL Server 2008.

Sul blog MSDN è disponibile, per il download gratuito, l’ebook “Introducing Microsoft SQL Server 2008 R2” [link].

Lo scopo di questo libro introduttivo è quello di illustrare le nuove caratteristiche della versione 2 (R2) di SQL Server 2008.