Scripts

Optimized Locking in Azure SQL Database: Concorrenza senza limiti!

Nel panorama delle applicazioni moderne, dove scalabilità e concorrenza sono elementi fondamentali, mantenere prestazioni elevate senza compromettere la consistenza dei dati è una sfida costante. Azure SQL Database rappresenta spesso il punto di partenza per l’introduzione di nuove funzionalità destinate ad arricchire tutte le versioni di SQL Server. Seguendo questa tendenza, Microsoft ha annunciato una funzionalità dal nome magico: Optimized Locking!

Rigenerare colonne IDENTITY in SQL Server e Azure SQL!

Recentemente mi sono imbattuto nell’errore SQL 8115:

Arithmetic overflow error converting IDENTITY to data type int.

Un errore di overflow su una colonna IDENTITY si verifica ogni volta che proviamo a inserire in una colonna un valore superiore al limite previsto per il tipo di dato. Nel caso che ho seguito si trattava di una colonna di tipo integer con proprietà IDENTITY(1, 1), valorizzata automaticamente da SQL Server ad ogni inserimento di dati. L’overflow può avvenire su colonne di tipo integer (come in questo caso) ma anche su colonne di tipo tinyint, smallint e bigint.

Aggiornamento statistiche SQL per database che contengono External Table PolyBase

Sergio Govoni

Recentemente, ho avuto l’occasione di configurare un piano di manutenzione database per un DB in cui sono state create alcune External Table PolyBase che permettono di raggiungere dati archiviati all’esterno dell’istanza SQL Server.

Non si poteva testare la manutenzione database contestualmente alla configurazione del piano e così ho atteso la finestra temporale dedicata a queste attività. All’ora indicata, il piano di manutenzione (configurazione classica) non è stato eseguito correttamente, le verifiche hanno successivamente rilevato un errore nel task di aggiornamento statistiche.

Come reimpostare i valori della colonna Identity per tutte le tabelle di un database SQL Server

Recentemente ho avuto la necessità di dover effettuare il reseed a 1 dei valori di tutte le colonne Identity delle tabelle vuote di un database.

Scomponendo la richiesta in task più piccoli si sono individuati i seguenti due task:

  1. Individuare le tabelle senza record nel database
  2. Effettuare il reseed dell’unica colonna IDENTITY generando uno script con i comandi incapsulando il codice all’interno di una stored procedure

Per individuare le tabelle prive di righe può essere utilizzata la CTE spaceused sviluppata nell’articolo: