Ennesimo elemento in una stringa in T-SQL

Chi bazzica Business Central guardando dentro le tabelle del database, avrà notato che vengono spesso utilizzati dei campi “opzione”; in pratica il campo lato applicativo è rappresentato da un elenco valori, che viene salvato nel DB come un indice posizionale base zero. L’elenco dei valori è, lato ambiente di sviluppo, rappresentato da un’unica stringa dove ...

Iniziali maiuscole

Ecco come trasformare una frase con “Iniziali maiuscole” in SQL Server (T-SQL): Per prima cosa è opportuno creare una funziona che fa allo scopo; per fare questo usiamo lo stack XML: CREATE FUNCTION CapitalLetter ( @TheSentence NVARCHAR(MAX) ) RETURNS NVARCHAR(MAX) AS BEGIN DECLARE @Result NVARCHAR(MAX); SET @Result = stuff(( select \' \'+upper(left(T3.V, 1))+lower(stuff(T3.V, 1, 1, ...

sp_who2, the life of a lock…

Locks are a incredible resource in a RDMS, but a nightmare where concurrency is high and lock retention is time consuming. SQL Server let sysdba exploring locks using sp_who2 stored procedure. EXEC sp_who2 return the list of active sessions and some information related to them, e.g. the related locks (who blocks and who is blocked). ...

Nuovo corso MS Dynamics Business Central (ex Dynamics NAV) a cura di BeAnTech

Parte a marzo un nuovo corso incentrato su Dynamics Business Central tenuto da BeAnTech, notissima azienda friulana che gravita completamente attorno al mondo Microsoft. Obiettivo del corso è essenzialmente identificare personale che sarà poi destinato a finalizzare possibili assunzioni o collaborazioni. Il percorso formativo sarà eseguito parzialmente in aula (orario serale post-lavorativo) e parzialmente in ...

Come identificare gli indici candidati alla cancellazione

La creazione di indici inutili porta a due spiacevoli conseguenze: maggiore tempo necessario per l’esecuzione di istruzioni di insert/update/delete, inutile spreco di spazio su disco. Come fare per identificare gli indici del database candidati a una bella operazione di drop? Ci si rifa a una serie di viste di sistema che SQL Server ci mette ...

SQL Server escalation lock

L’SQL Server è un po’ bizzoso, a volte. Secondo necessità (e opportunità) può decidere di mettere un lock sul record, sulla pagina o persino sull’intera tabella. Questo meccanismo di escalation del lock, dal grano elementare del record all’intera database, a volte crea imbarazzanti situazioni di “conflitto”. Il concetto è semplicemente: se mi conviene metto il ...

Se Tempdb diventa un problema

17. Settembre 2017 SQL Server 0
A volte accade un po’ l’imprevisto. Per esempio oggi un bel job notturno che funziona da almeno tre anni senza mai segnalare un problema è fallito. Il problema? Tendenzialmente quello che più o meno sempre è “il problema”: lo spazio disco. Nello specifico il tempdb è andato oltre i 140GB che è lo spazio a ...

Tabelle di numeri (o di date) in SQL Server

Chi non ha mai avuto bisogno di un calendario o di una tabella di numeri ordinati in SQL? Spesso si ricorre a una tabella fisica, creata apposta, nella quale inserire i record voluti; oggi me ne serviva una, ma non mi andava di crearla… Questo che suggerisco è un metodo “on the fly” che sfrutta ...