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 ...
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, ...
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). ...
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 ...
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 ...
In questi giorni mi sono trovato a dover sviluppare un’applicazione che ha come front end Excel e come repository delle tabelle su SQL Server; si tratta di un’applicazione per lo sviluppo del forecast e del budget commerciali. Per la lettura da SQL non c’è problema perché il modello dati di Excel è più che adeguato ...
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 ...
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 ...
Se nel vostro DB in SQL Server vi trovate di fronte all’errore “The following SQL error was unexpected: The transaction log for database ‘xyz’ is full due to ‘ACTIVE_TRANSACTION\'” e nel log eventi di SQL server vi trovate di fronte a errori del tipo Error 9002, severity 17, state 4: The transaction log for database ...
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 ...