Home > Tips & Tricks

Tips & Tricks

Modalità di elaborazione query e indici columnstore

In questo articolo verranno trattati i due metodi di elaborazione delle query conosciuti come Row mode execution e Batch mode execution per SQL Server 2019. Verrà inoltre descritto un meccanismo per attivare Batch mode execution su SQL Server 2017 anche quando non si possono creare indici columnstore “effettivi”. Row mode execution Row mode execution è un metodo di elaborazione delle …

Leggi »

String or Binary data would be truncated: replacing the infamous error 8152 … also in SQL Server 2017

Come già annunciato allo scorso Ignite, una delle nuove (tra le tante) feature di SQL Server 2019 accolta con ovazione dei presenti è la possibilità di ottenere informazioni più complete rispetto al tanto odiato messaggio La buona notizia è che è possibile abilitare la stessa funzionalità anche su SQL Server 2017 (e con la SP2 su SQL Server 2016) installando …

Leggi »

Missing Index… Cache

Qualche settimana fa un collega mi ha sottoposto un quesito la cui risposta coinvolge alcuni concetti molto interessanti. La domanda più o meno era: SQL Server mi dice che manca un indice, l’ho creato. Perchè eseguendo una query su sys.dm_db_missing_index_details trovo ancora l’indice come mancante? Come dico a SQL di aggiornare la DMV? La risposta alla domanda è abbastanza semplice: …

Leggi »

Quando importando un database SQL Azure su una istanza On-Prem non va proprio tutto bene

Se avete abilitato Sql Server Auditing su un database di SQL Azure, dopo averlo esportato in .bacpac, se provate ad importarlo sulla vostra istanza in locale vi troverete di fronte al seguente messaggio: Error SQL72014: .Net SqlClient Data Provider: Msg 33161, Level 15, State 1, Line 1 Database master keys without password are not supported in this version of SQL …

Leggi »

Conversioni implicite: cosa sono e che impatto hanno sulle nostre query

Come credo alla maggior parte di voi, spesso, anche a me capita di dover mantenere codice scritto da qualcun altro. Uno degli aspetti che (ri)trovo con una certa frequenza è che, spesso, non prestiamo attenzione a come scriviamo le nostre query, sottovalutando l’impatto che queste possono avere sul nostro sistema. Proprio recentemente mi sono imbattuto in una serie di batch (dalle …

Leggi »

TOP(n) WITH TIES, nuova feature? No, é sempre esistita!

C’è ancora chi si meraviglia davanti all’opzione WITH TIES. Molti non sanno che esiste o ne sottovalutano l’utilità. Consideriamo la query SELECT TOP 3 Name, ListPrice FROM SalesLT.Product ORDER BY ListPrice ASC; Questa query ritornerà i primi 3 articoli ordinati per ListPrice crescente. L’opzione WITH TIES indica che, invece di restituire solo il numero richiesto di righe, la query restituirà …

Leggi »

Uso “nascosto” del tempdb

Qualche settimana fa, mentre ero al lavoro, mi sono ritrovato a dover risolvere un problema apparentemente non molto strano, ma che tuttavia nasconde qualche retroscena interessante. I fatti sono stati più o meno questi: Circa a metà mattinata mi è stato segnalato un problema di prestazioni su uno dei sistemi che abbiamo in gestione nel nostro team di lavoro; dopo alcuni semplici controlli è stato …

Leggi »

“SQL Server Management Studio ha smesso di funzionare”, ho perso lo script che stavo scrivendo?

“SQL Server Management Studio ha smesso di funzionare”, a volte succede di ottenere a video questo messaggio poco simpatico. Nulla di grave, “basta solo” riavviare il programma. Ed ecco che una volta riavviato SSMS alcun file è stato recuperato … GRRRRRR!!!! La cosa meno divertente, quindi, è scoprire che la query/procedura che si stava scrivendo e provando, magari da qualche …

Leggi »

SQLServer 2016 non si avvia … ecco uno dei perchè

“TCP Provider, error: 0 – Il computer remoto ha rifiutato la connessione di rete. Microsoft SQL Server, Error: 1225” questo semplice e significativo messaggio ci avvisa che il Server SQL, col quale stiamo cercando di collergarci, non risponde. Ci possono essere molteplici motivi di questo “disservizio”, in questo articolo viene illustrata una delle cause e la sua risoluzione. Una volta …

Leggi »

Lista Trace Flags Ufficiale

Il SQL Server Tiger Team si sta occupando, tra le altre cose, di tenere aggiornata la lista di tutti i trace flag disponibili in SQL Server per modificare il funzionamento nel caso sia assolutamente necessario. La lista è disponibile qui: http://aka.ms/traceflags Occhio, come al solito, che i trace flags non sono da usare alla leggera, quindi usateli se e solo se …

Leggi »