(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 !)
Pas de quoi.