SQL ServerVideos
134
0

SQL 2022 Resumable CONSTRAINT

La nueva versión de SQL Sever 2022 nos ha traído varias novedades.

Una de ellas es la posibilidad de como ya teníamos con los índices ahora hacerlo con la creación de constraint y poder utilizar el modo Resumible el cual permite ante un tiempo determinado poner en pausa la creación para luego poder continuar desde ese mismo punto de avance.

En el siguiente video te muestro una demostración de esta nueva funcionalidad y acá en este post te comparto los script

Pasos para la demo

  • Descargar y atachar la base de datos StackOverflow2010
  • Correr el siguiente script para crear una nueva tabla post
USE STACKOVERFLOW2010 
GO

DROP TABLE IF EXISTS POST_2 

SELECT IDENTITY(BIGINT, 1,1) AS ID_NUM,
* 
INTO POST_2 
FROM [DBO].[POSTS]
CROSS JOIN (SELECT TOP 2 COLUMN_ID FROM SYS.COLUMNS) AS C2 

Crear una Constraint que si dura mas de 1 minuto quede en modo pause

ALTER TABLE POST_2
ADD CONSTRAINT PK_CONSTRAIN 
PRIMARY KEY CLUSTERED (ID_NUM,CREATIONDATE,SCORE)
WITH (ONLINE = ON, MAXDOP = 1, RESUMABLE = ON, MAX_DURATION = 1);

Si se quiere analizar el estado de avance ejecutar la siguiente consulta

use StackOverflow2010 
go

SELECT SQL_TEXT, STATE_DESC, PERCENT_COMPLETE
FROM SYS.INDEX_RESUMABLE_OPERATIONS;

Para continuar o abortar con la constraint correr el siguiente codigo segun corresponda

ALTER INDEX ALL ON POST_2 ABORT;

ALTER INDEX ALL ON POST_2 RESUME;

Leave a Reply

Your email address will not be published. Required fields are marked *

Fill out this field
Fill out this field
Please enter a valid email address.
You need to agree with the terms to proceed