Publications
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 la CU12 e abilitando trace flag 460.
Qui trovate tutti i dettagli.
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 Server. Error SQL72045: Script execution error. The executed script: CREATE MASTER KEY;
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à anche tutte le righe aventi lo stesso valore dell’ultima riga in base ai criteri di ordinamento (ListPrice, nel nostro caso). Questo significa che si potrebbero ottenere più righe rispetto a quelle richieste, ma la selezione delle righe diventa di tipo deterministico (al contrario del caso precedente).
Azure Search - Change existing datasource
Immaginate di avere il vostro bel Azure SQL Database e con una serie di indici Azure Search collegati ad altrettanti Datasource che fanno riferimento a tabelle fisiche (o viste) del db (a chi non sapesse cosa sono i servizi Azure Search consiglio vivamente questa lettura).
Il tutto in produzione con ottimi risultati in termini di performance ed usabilità.
Ad un certo punto il CTO decide che il database debba essere spostato sotto altro account Azure con conseguente cambiamento della ConnectionString. Poco male, penso tra me e me, basta cambiare la connectionstring nei relativi datasource et voilà … il gioco è fatto.
AT TIME ZONE (Transact-SQL)
Si applica a: Azure SQL Database, SQL Server 2016 Preview
Converte un inputdate al valore datetimeoffset corrispondente nel fuso orario di destinazione. Se inputdate viene fornito senza le informazioni di offset, la funzione applica l’offset del fuso orario partendo dal presupposto che il valore inputdate viene fornito nel fuso orario di destinazione. Se inputdate viene fornito come valore datetimeoffset, allora la clausola AT TIME ZONE converte nel fuso orario di destinazione utilizzando regole di conversione del fuso orario.

