begin process at 2008 07 06 07:04:38
1 205 472 membres
51 nouveaux aujourd'hui
14 119 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

RECALCUL DES STATISTIQUES POUR AMÉLIORER LES PERFOMANCE D'UNE BASE SQLSERVER


Information sur la source



Description

Aprés un dbcc dbreindex, les statistiques ne sont pas mises à jour convenablement.
Voici un petit script permettant de remettre à jour les statistiques de toutes les tables d'une base de donnée.
Fonctionne sur SQL Server 2000 .

Source

  • USE pubs -- Mettre ici le nom de la base de donnée voulue
  • SET NOCOUNT ON
  • GO
  • DECLARE updatestats CURSOR FOR
  • SELECT table_name FROM information_schema.tables
  • where TABLE_TYPE = 'BASE TABLE'
  • OPEN updatestats
  • DECLARE @tablename NVARCHAR(128)
  • DECLARE @Statement NVARCHAR(300)
  • FETCH NEXT FROM updatestats INTO @tablename
  • WHILE (@@FETCH_STATUS = 0)
  • BEGIN
  • PRINT N'UPDATE STATISTICS ' + @tablename
  • SET @Statement = 'UPDATE STATISTICS ' + @tablename + ' WITH FULLSCAN'
  • EXEC sp_executesql @Statement
  • FETCH NEXT FROM updatestats INTO @tablename
  • END
  • CLOSE updatestats
  • DEALLOCATE updatestats
  • GO
  • SET NOCOUNT OFF
  • GO
USE pubs -- Mettre ici le nom de la base de donnée voulue
SET NOCOUNT ON
GO
DECLARE updatestats CURSOR FOR
SELECT table_name FROM information_schema.tables
	where TABLE_TYPE = 'BASE TABLE'
OPEN updatestats

DECLARE @tablename NVARCHAR(128)
DECLARE @Statement NVARCHAR(300)

FETCH NEXT FROM updatestats INTO @tablename
WHILE (@@FETCH_STATUS = 0)
BEGIN
   PRINT N'UPDATE STATISTICS ' + @tablename
   SET @Statement = 'UPDATE STATISTICS '  + @tablename + '  WITH FULLSCAN'
   EXEC sp_executesql @Statement
   FETCH NEXT FROM updatestats INTO @tablename
END

CLOSE updatestats
DEALLOCATE updatestats
GO
SET NOCOUNT OFF
GO
  • signaler à un administrateur
    Commentaire de fabrice69 le 13/07/2007 16:37:00 administrateur CS

    Bonjour,

    Une autre possibilité, qui effectue cette mise à jour sur toutes les bases :
    http://www.sqlfr.com/codes/SQL-SERVER-PROCEDURE-STOCKEE-METTANT-JOUR-TOUTES-STATISTIQUES_29623.aspx

    Cordialement
    Romelard Fabrice

Ajouter un commentaire

Pub



Appels d'offres

Plugin Dialer outlook
Budget : 2 000€
Travail graphique- ill...
Budget : 1 000€
creation de marque et ...
Budget : 1 000€

CalendriCode

Juillet 2008
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Boutique

Boutique de goodies CodeS-SourceS