- ------------------------------------------------------------------------------------------------------
- CREATE PROCEDURE dbo.SP_System_MiseAJourStatistiquesIndexes
- /*
- Permet de mettre à jour toutes les statistiques des Indexes
- de toutes les bases du serveur SQL Server
- */
-
- AS
-
- DECLARE @name sysname
- DECLARE @LaRequette varchar(8000)
- DECLARE @DateJour varchar(20)
-
- SET @DateJour = REPLACE(CONVERT(VARCHAR, GetDate(), 102), '.', '_')
- PRINT '---------------------------------------------------------------------'
- PRINT ' DATE DE LA MISE A JOUR DES STATISTIQUES LANCEE : '+ @DateJour
- PRINT '---------------------------------------------------------------------'
-
- DECLARE TESTCURSEUR CURSOR
- FOR SELECT Master.dbo.sysdatabases.name FROM Master.dbo.sysdatabases
- WHERE Master.dbo.sysdatabases.name NOT IN ('tempdb', 'model', 'pubs')
-
- OPEN TESTCURSEUR
- FETCH NEXT FROM TESTCURSEUR
- INTO @name
-
- WHILE @@FETCH_STATUS = 0
-
- BEGIN
- PRINT ''
- PRINT '---------------------------------------------------------------------'
- PRINT ' STATISTIQUES MISE A JOUR SUR LA BASE DE DONNEES : '+ @name
- PRINT '---------------------------------------------------------------------'
-
- SET @LaRequette = 'USE ['+ @name +'] exec sp_updatestats'
- PRINT 'Requette : '+ @LaRequette
- EXECUTE (@LaRequette)
-
- PRINT '---------------------------------------------------------------------'
-
- FETCH NEXT FROM TESTCURSEUR
- INTO @name
-
- END
-
- CLOSE TESTCURSEUR
- DEALLOCATE TESTCURSEUR
- GO
-
- ------------------------------------------------------------------------------------------------------
-
- -- Elle est utilisable avec la commande suivante : exec dbo.SP_System_MiseAJourStatistiquesIndexes
------------------------------------------------------------------------------------------------------
CREATE PROCEDURE dbo.SP_System_MiseAJourStatistiquesIndexes
/*
Permet de mettre à jour toutes les statistiques des Indexes
de toutes les bases du serveur SQL Server
*/
AS
DECLARE @name sysname
DECLARE @LaRequette varchar(8000)
DECLARE @DateJour varchar(20)
SET @DateJour = REPLACE(CONVERT(VARCHAR, GetDate(), 102), '.', '_')
PRINT '---------------------------------------------------------------------'
PRINT ' DATE DE LA MISE A JOUR DES STATISTIQUES LANCEE : '+ @DateJour
PRINT '---------------------------------------------------------------------'
DECLARE TESTCURSEUR CURSOR
FOR SELECT Master.dbo.sysdatabases.name FROM Master.dbo.sysdatabases
WHERE Master.dbo.sysdatabases.name NOT IN ('tempdb', 'model', 'pubs')
OPEN TESTCURSEUR
FETCH NEXT FROM TESTCURSEUR
INTO @name
WHILE @@FETCH_STATUS = 0
BEGIN
PRINT ''
PRINT '---------------------------------------------------------------------'
PRINT ' STATISTIQUES MISE A JOUR SUR LA BASE DE DONNEES : '+ @name
PRINT '---------------------------------------------------------------------'
SET @LaRequette = 'USE ['+ @name +'] exec sp_updatestats'
PRINT 'Requette : '+ @LaRequette
EXECUTE (@LaRequette)
PRINT '---------------------------------------------------------------------'
FETCH NEXT FROM TESTCURSEUR
INTO @name
END
CLOSE TESTCURSEUR
DEALLOCATE TESTCURSEUR
GO
------------------------------------------------------------------------------------------------------
-- Elle est utilisable avec la commande suivante : exec dbo.SP_System_MiseAJourStatistiquesIndexes