Faq

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.

Trigger in SQL Server: FAQ e Best practices

Sergio Govoni

I Trigger sono spesso motivo di discordia tra sviluppatori e DBA, tra chi personalizza una soluzione standard e chi la fornisce, tra clienti e software vendor. Sembrano facili da scrivere, ma scrivere Trigger efficienti non è affatto semplice e quando la loro complessità aumenta, possono presentare effetti collaterali in grado di confondere persino l’autore. Tuttavia, per quanti difetti possano avere, hanno un pregio dannatamente importante: permettono di risolvere problemi che non potrebbero essere gestiti in qualsiasi altro layer applicativo. Quindi, se non potete farne a meno, non vi resta che imparare i trucchi e delle best practices per scriverli e gestirli in modo efficiente.

How to discover disabled triggers?

Sergio Govoni

Come posso estrarre la lista dei trigger disabilitati per una o più tabelle, o per l’intero database?

Recentemente, ho avuto la necessità di disabilitare temporaneamente (per alcune ore) tutti i trigger definiti su una tabella. La successiva abilitazione, però, doveva tenere conto dei trigger già disabilitati all’origine, che avevo necessità di conoscere prima di eseguire il comando:

From SQLCAT: Concurrency Series blog posts

Sergio Govoni

Sunil Agarwal (Principal Program Manager in SQL Server Storage Engine Group) ha pubblicato, nel blog SQLCAT, alcuni interessanti articoli dedicati alla Concorrenza ovvero alla possibilità per più utenti di accedere ai dati contemporaneamente.

La serie inizia con un post che spiega i diversi livelli di isolamento che una transazione può avere… fino ad arrivare ad una delle domande più comuni che formulano i clienti: La mia applicazione, fino a ieri aveva performance accettabili, oggi non più, perché ? Quale può essere il motivo ?

Primi e Ultimi Trigger

Sergio Govoni

Qualora una tabella avesse molteplici trigger AFTER sullo stesso tipo di comando INSERT, UPDATE o DELETE, vi siete mai chiesti quale fosse l’ordine di attivazione?

Scenario

Ipotizziamo di utilizzare la tabella dbo.Product su cui insistono alcuni (tre) trigger AFTER di tipo INSERT. Con il seguente frammento di codice T-SQL eseguiamo il setup della tabella dbo.Product sul database di esempio AdventureWorks.