SQL 2019 express… Réindexation

(rappel : dans cette version on ne peut pas faire de plan de maintenance…)

Le script présenté ci-dessous charge le nom des tables et des schémas associés dans un curseur, à partir duquel, après reconstitution de la commande SQL, nous exécutons la commande de réindexation des tables DBCC DBREINDEX.

DECLARE cursorDb CURSOR FOR 
	SELECT 
		t.name nom_table,s.name nom_schema 
	FROM 
		sys.tables AS t 
		INNER JOIN sys.schemas AS s ON t.schema_id=s.schema_id;
DECLARE @table VARCHAR(1024);
DECLARE @schema VARCHAR(1024);
DECLARE @sql VARCHAR(1024);
OPEN cursorDb;
FETCH NEXT FROM cursorDb INTO @table, @schema;
WHILE @@FETCH_STATUS = 0  
BEGIN  
	SET @sql='DBCC DBREINDEX (''['+@schema+'].['+ @table + ']'')  WITH NO_INFOMSGS';
	-- PRINT @sql;
	EXECUTE (@sql);
	FETCH NEXT FROM cursorDb INTO @table,@schema;
END;
CLOSE cursorDb;
DEALLOCATE cursorDb;
GO

Merci à Denis Szalkowski  🙂


N’oubliez pas de controler l’intégrité de la base en lançant une requête :

DBCC CHECKDB


De réduire les logs …


De mettre à jour les stats avec la requette :

sp_MSforeachdb ‘use [?]; exec sp_updatestats’


et de supprimer l’historique de tous les travaux de l’instance SQL:


USE msdb ;
GO
EXEC dbo.sp_purge_jobhistory
go

Votre plan de maintenance pour sql Express 2019 est pas trop mal (on peut toujours faire mieux, n’hésitez pas à commenter !)

Une réflexion sur “SQL 2019 express… Réindexation

Laisser un commentaire