Search Suggest

SQL Server 2019 RC1 e la "Resumable Online Index Creation"

Ben ritrovati!

Nello scorso articolo che trovate qui vi avevo raccontato brevemente cosa sono gli indici tipo columnstore parlandovi anche della loro evoluzione con il succedersi delle versioni di SQL Server. Avevamo poi discusso delle novità introdotte da SQL Server 2019 relative a questo tipo di indici.

Oggi continuiamo a parlare di indici parlando di un'altra novità introdotta anch'essa a partire dalla versione di SQL Server in uscita.

Parliamo di Resumable Online Index Creation.


Resumable Online Index Creation

Per introdurre l'argomento diciamo che SQL Server 2017 aveva introdotto la possibilità di mettere in pausa (pause) e di riprendere (resume) il rebuild online di un indice.

L'utilità di questa feature ha senso quando si parla di database di dimensioni considerevoli come ad esempio nei datawarehouse dove questa è un operazione che può durare ore.

SQL Server 2019 introduce la stessa funzionalità di pause/resume anche durante la creazione dell'indice.
Questo vale sia per gli indici classici che per gli indici columnstore di cui avevamo parlato nel precedente articolo.

La sintassi T-SQL è la seguente:


CREATE INDEX IDX_TABELLA_CAMPO ON dbo.TABELLA(CAMPO)
WITH (ONLINE = ON, RESUMABLE = ON, MAX_DURATION = 10 MINUTES);


  Nel caso l'operazione duri troppo a lungo potremmo metterla in pausa tramite l'istruzione:


ALTER INDEX INDEX IDX_TABELLA_CAMPO dbo.TABELLA PAUSE;
Mentre per riprendere il rebuild degli indici sarà sufficiente digitare:

ALTER INDEX INDEX IDX_TABELLA_CAMPO ON dbo.TABELLA RESUME WITH (MAXDOP = 4);

Occorre specificare obbligatoriamente il parametro MAXDOP (MAx Degree of parallelismo) come indicato nelle impostazioni.

Per oggi è tutto, la prossima volta cambieremo argomento perchè voglio parlarvi della clausola NOLOCK andando in dettaglio.


Quindi, se non volete perdervi il prossimo l'articolo iscrivetevi al blog!

Ciao a tutti ed alla prossima!

Luca Biondi @ SQLServerPerformance blog!







Next post: La clausola NOLOCK. Approfondiamo e facciamo chiarezza!

Previous post: DBCC CLONEDATABASE cos'è e a che cosa serve

Post a Comment