Articoli

Automazione delle attività di manutenzione in Azure SQL Database (3 Parte)

Sergio Govoni

Nel precedente articolo Automazione delle attività di manutenzione in Azure SQL Database (2 Parte) abbiamo descritto la prima implementazione (preview) di Azure Elastic Job Agents, attraverso cui è possibile creare e pianificare processi su uno o più database Azure SQL per eseguire query o attività di manutenzione.

Lo scorso novembre, Microsoft ha annunciato un refresh di questa tecnologia con importanti implementazioni in ambito sicurezza, portale di gestione, scalabilità e molto altro; ecco elencate le principali novità:

SQL Server 2022 Parameter Sensitive Plan Optimization

Sergio Govoni

Introduzione

Parameter Sensitive Plan (PSP) Optimization è una delle funzionalità introdotte da SQL Server 2022 e si colloca nella famiglia di funzionalità note con il nome di Intelligent Query Processing che migliorano le prestazioni dei carichi di lavoro esistenti senza modifiche al codice applicativo. Intelligent Query Processing (potenziato anche in SQL Server 2019) è l’erede della precedente tecnologia nota con il nome di Adaptive Query Processing di cui è disponibile il video Query Processing improvements in the latest versions of SQL Server sul canale UGISS di Vimeo.

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 query utilizzato con le tabelle tradizionali disk-based, in cui i dati vengono archiviati in formato riga. Le tabelle che utilizzano questo tradizionale formato di archiviazione vengono anche dette “rowstore table”. Quando una query viene eseguita e accede ai dati archiviati in formato riga, gli operatori previsti nel piano di esecuzione leggono ogni riga richiesta dalla query. Da ogni riga letta, SQL Server recupera quindi le colonne necessarie, specificate nell’istruzione SELECT, in un predicato di JOIN, in un predicato di filtro, ecc..

Predicati sargable e valori NULL

Sergio Govoni

In questo articolo parleremo del concetto noto con il nome di SARGability arricchendolo di alcune considerazioni sulla trattazione dei valori NULL su cui ho avuto modo di ragionare dopo aver partecipato ad una sessione di Itzik Ben-Gan e dalla quale ho tratto ispirazione.

Wikipedia definisce Sargable una condizione (o predicato) di una query se l’engine del DBMS può sfruttare un indice per accelerare l’esecuzione della query. Il termine Sargable deriva dalla contrazione di Search ARGument ABLE.

ALTER COLUMN con #sqlcmdcli

Sergio Govoni

Quante volte avete avuto la necessità di modificare il tipo di dato di una colonna da cui dipendono altri oggetti del database SQL Server?

Se avete avuto questa necessità vi sarete scontrati con l’errore numero 5074 che segnala l’impossibilità di modificare tipo di dato e proprietà di una colonna a causa della presenza di oggetti collegati come Indici, Vincoli di univocità, Statistiche, ecc..

Troverete decine di post in rete che descrivono il problema ma pochi che forniscono una soluzione diversa da quella che prevede l’eliminazione manuale degli oggetti collegati prima di eseguire il comando ALTER COLUMN. Agendo in questo modo, dopo aver applicato le modifiche alla colonna sarà necessario ricreare gli oggetti collegati.

SQL Server 2022

Sergio Govoni

Annunciata la scorsa settimana ad Ignite 2021, la prossima versione di SQL Server si chiamerà SQL Server 2022, la CTP e la successiva versione RTM verranno rilasciate nel corso del 2022.

SQL Server 2022 si caratterizza per essere la versione di SQL Server più interconnessa ad Azure di sempre, con importanti innovazioni nelle aree relative alle Prestazioni, alla Sicurezza e alla Continua Disponibilità del Servizio.
L’articolo che annuncia la versione 2022 di SQL Server è disponibile a questo link.

PASS Data Community Summit 2021

Il più grande evento al mondo dedicato all’intera Data Platform di Microsoft è tornato!

La popolarità del PASS Summit la conosciamo tutti e non ripercorreremo ora la storia di PASS perché ci piace parlare del futuro e non del passato, comunque, ad ogni buon conto, in questo post sono disponibili maggiori informazioni sull’acquisizione degli asset di PASS da parte di Redgate.

Quest’anno l’evento sarà online, molti contenuti saranno gratuiti ad eccezione dei seminari/workshop della durata di un giorno conosciuti anche con il nome di “pre-conference session”.

Data masking con sqlcmdcli

Sergio Govoni

Chi si occupa di sviluppare un’applicazione complessa come ad esempio una soluzione ERP, un dipartimentale per la gestione della logistica, un CRM o altro software che necessiti di un database OLTP prima o poi avrà la necessità di verificare il funzionamento dell’applicazione con dati reali.

Può essere necessario utilizzare un backup del database di produzione per verificare il funzionamento dell’applicazione con gli strumenti di debug offerti dall’ambiente di sviluppo per correggere bug non riproducibili nell’ambiente di test, per fare troubleshooting o per verificare come performano le query su dati reali, su tabelle con milioni di record.

Il podcast di AWS in Italiano: Intervista a Gianluca Hotz

Sergio Govoni

Nell’episodio #46 del podcast di AWS in Italiano, Alex Casalboni ha ospitato il nostro Gianluca Hotz in un’intervista tutta dedicata a SQL Server.

Gianluca ha descritto come si è evoluto SQL Server dal 1989 ad oggi, i progetti e i casi d’uso che tipicamente vedono come protagonista un’istanza SQL Server nella gestione dei dati. Si è parlato anche di licensing, migrazione, modernizzazione e di come SQL Server si relaziona con Amazon Relational Database Service (RDS) e AWS Database Migration Service (DMS).

Il tuo laboratorio virtuale per SQL Server con Azure Lab Services!

Recentemente ho avuto l’occasione di preparare un workshop rivolto alle figure professionali che intendono acquisire competenze di base sui comandi T-SQL per la modifica dei dati e sull’utilizzo dei tool di SQL Server per l’Import/Export data e SQL Profiler. In aggiunta alla parte teorica volevo fornire ai partecipanti un ambiente di lavoro su cui sperimentare la teoria attraverso esercizi pratici iniziando subito a “sporcarsi le mani”.

Mi sono chiesto quale fosse la scelta migliore tra le seguenti opzioni: