La trace SQL Profiler par défaut permet de retrouver les grossissements automatiques des fichiers de toutes les bases de données hébergées par une instance SQL Server.
Voyons comment retrouver ces événements :
De nombreux grossissements automatiques des fichiers de la base de données peuvent indiquer :
- que les fichiers de la base de données ont été mal taillés lors de la création de la base de données
- que l’incrément choisi pour le grossissement automatique est trop faible (par défaut c’est 1MB pour un fichier de données !)
- que des transactions (comme des recréations d’index), ou un changement d’un module SQL ou dans l’application supportée par la base de données génèrent beaucoup de données, et envisager des corrections.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | ------------------------------- -- Nicolas Souquet - 30/03/2011 ------------------------------- -- Recherche de l'UNC du fichier de trace par défaut DECLARE @trace_file_path nvarchar(260) SELECT @trace_file_path = path FROM sys.traces WHERE id = 1 -- identifiant de la trace par défaut -- Extraction des données SELECT DatabaseName , FileName , HostName , ApplicationName , SessionLoginName , Duration , StartTime , EndTime FROM sys.fn_trace_gettable (@trace_file_path, DEFAULT) WHERE EventClass IN (92, 93) -- Evénements "Data File Auto Grow" et "Log File Auto Grow" --AND DatabaseName = DB_NAME() -- Pour retrouver les grossissements automatiques de fichiers pour la base de données courante |
On peut trouver la liste des événements et leur identifiant dans la documentation de la procédure stockée sp_trace_setevent.
J’ai utilisé cette procédure dans le tutoriel Création de fichiers de trace SQL Server Profiler côté serveur
On pourra trouver l’espace disque occupé par les fichiers, et l’espace libre dans ceux-ci.
Bonne gestion de fichiers !
ElSüket