SQL Server : Vérifier l’intégrité de toutes les bases de données d’un serveur
Aujourd'hui un petit script rapide qui peut vous être utile. Il permet l'exécution de la commande CHECKDB sur toutes les bases de données marquées En Ligne d'une instance.
On fait tout simplement un curseur qui itère sur ces bases de données, et une exécution de code dynamique pour le passage du CHECKDB. En passant on vire les messages informatifs qui ont tendance à polluer les journaux de l'agent.
DECLARE @db_name sysname;
DECLARE @sql nvarchar(max);
SET @sql =
N'';
DECLARE crs_database CURSOR
FOR
SELECT name FROM
sys.databases
WHERE
state = 0;
OPEN crs_database;
FETCH
NEXT
FROM crs_database INTO @db_name;
WHILE(@@FETCH_STATUS = 0)
BEGIN
SET @sql =
N'DBCC CHECKDB('
+
QUOTENAME(@db_name)
+
N') WITH NO_INFOMSGS';
EXEC(@sql);
FETCH
NEXT
FROM crs_database INTO @db_name;
END
CLOSE crs_database;
DEALLOCATE crs_database;
Bonne vérification de vos bases de données…
Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :