Fichiers Sparse : Comment les lister ?

Published Jan 15 2019 03:54 PM 65 Views
First published on MSDN on Apr 29, 2014

Bonjour à tous,


Une récente analyse assez poussée nous a à nouveau confrontés aux fichiers SPARSE, et j'ai eu besoin de lister facilement le status de nombreuses bases/fichiers.


Les DMV SQL Server remontent l'information cependant j'ai pu constater qu'il fallait parfois un redémarrage du service SQL Server pour que le flag soit correctement affiché dans le cas de la première (qui cible la DB en cours ) :


select is_sparse,* from sys.database_files


select is_sparse as sp, name,physical_name,database_id,file_id,type_desc from sys.master_files order by sp desc


Comme le flag SPARSE est avant tout un flag du système de fichiers, je me suis penché sur les moyens disponibles à ce niveau : on retrouve notre FSUTIL mais qui nécessite de cibler UN fichier. Un peu fastidieux si on a une cinquantaine de fichiers !


Heureusement, powershell est là !


gci |Where-Object {$_.PSIsContainer -eq $False}| % {echo $_.name ;fsutil sparse queryflag $_.name} >>sparse.txt


puis rechercher la chaine 'is set as sparse' dans le fichier sparse.txt avec votre éditeur préféré.


Attention, FSUTIL ne pourra interroger les fichiers d'une base SQL Server active (service démarré).


++


Guillaume Fourrat


Ingénieur d'Escalade



%3CLINGO-SUB%20id%3D%22lingo-sub-318298%22%20slang%3D%22en-US%22%3EFichiers%20Sparse%20%3A%20Comment%20les%20lister%20%3F%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-318298%22%20slang%3D%22en-US%22%3E%0A%20%26lt%3Bmeta%20http-equiv%3D%22Content-Type%22%20content%3D%22text%2Fhtml%3B%20charset%3DUTF-8%22%20%2F%26gt%3B%3CSTRONG%3E%20First%20published%20on%20MSDN%20on%20Apr%2029%2C%202014%20%3C%2FSTRONG%3E%20%3CBR%20%2F%3E%3CP%3EBonjour%20%C3%A0%20tous%2C%3C%2FP%3E%3CBR%20%2F%3E%3CP%3EUne%20r%C3%A9cente%20analyse%20assez%20pouss%C3%A9e%20nous%20a%20%C3%A0%20nouveau%20confront%C3%A9s%20aux%20fichiers%20SPARSE%2C%20et%20j'ai%20eu%20besoin%20de%20lister%20facilement%20le%20status%20de%20nombreuses%20bases%2Ffichiers.%3C%2FP%3E%3CBR%20%2F%3E%3CP%3ELes%20DMV%20SQL%20Server%20remontent%20l'information%20cependant%20j'ai%20pu%20constater%20qu'il%20fallait%20parfois%20un%20red%C3%A9marrage%20du%20service%20SQL%20Server%20pour%20que%20le%20flag%20soit%20correctement%20affich%C3%A9%20dans%20le%20cas%20de%20la%20premi%C3%A8re%20(qui%20cible%20la%20DB%20en%20cours%20)%20%3A%3C%2FP%3E%3CBR%20%2F%3E%3CP%3Eselect%20is_sparse%2C*%20from%20sys.database_files%3C%2FP%3E%3CBR%20%2F%3E%3CP%3Eselect%20is_sparse%20as%20sp%2C%20name%2Cphysical_name%2Cdatabase_id%2Cfile_id%2Ctype_desc%20from%20sys.master_files%20order%20by%20sp%20desc%3C%2FP%3E%3CBR%20%2F%3E%3CP%3EComme%20le%20flag%20SPARSE%20est%20avant%20tout%20un%20flag%20du%20syst%C3%A8me%20de%20fichiers%2C%20je%20me%20suis%20pench%C3%A9%20sur%20les%20moyens%20disponibles%20%C3%A0%20ce%20niveau%20%3A%20on%20retrouve%20notre%20FSUTIL%20mais%20qui%20n%C3%A9cessite%20de%20cibler%20UN%20fichier.%20Un%20peu%20fastidieux%20si%20on%20a%20une%20cinquantaine%20de%20fichiers%20!%3C%2FP%3E%3CBR%20%2F%3E%3CP%3EHeureusement%2C%20powershell%20est%20l%C3%A0%20!%3C%2FP%3E%3CBR%20%2F%3E%3CP%3Egci%20%7CWhere-Object%20%7B%24_.PSIsContainer%20-eq%20%24False%7D%7C%20%25%20%7Becho%20%24_.name%20%3Bfsutil%20sparse%20queryflag%20%24_.name%7D%20%26gt%3B%26gt%3Bsparse.txt%3C%2FP%3E%3CBR%20%2F%3E%3CP%3Epuis%20rechercher%20la%20chaine%20'is%20set%20as%20sparse'%20dans%20le%20fichier%20sparse.txt%20avec%20votre%20%C3%A9diteur%20pr%C3%A9f%C3%A9r%C3%A9.%3C%2FP%3E%3CBR%20%2F%3E%3CP%3EAttention%2C%20FSUTIL%20ne%20pourra%20interroger%20les%20fichiers%20d'une%20base%20SQL%20Server%20active%20(service%20d%C3%A9marr%C3%A9).%3C%2FP%3E%3CBR%20%2F%3E%3CP%3E%2B%2B%3C%2FP%3E%3CBR%20%2F%3E%3CP%3EGuillaume%20Fourrat%3C%2FP%3E%3CBR%20%2F%3E%3CP%3EIng%C3%A9nieur%20d'Escalade%3C%2FP%3E%3CBR%20%2F%3E%3CP%3E%3C%2FP%3E%3CBR%20%2F%3E%3CP%3E%3C%2FP%3E%0A%20%0A%3C%2FLINGO-BODY%3E%3CLINGO-TEASER%20id%3D%22lingo-teaser-318298%22%20slang%3D%22en-US%22%3EFirst%20published%20on%20MSDN%20on%20Apr%2029%2C%202014%20Bonjour%20%C3%A0%20tous%2CUne%20r%C3%A9cente%20analyse%20assez%20pouss%C3%A9e%20nous%20a%20%C3%A0%20nouveau%20confront%C3%A9s%20aux%20fichiers%20SPARSE%2C%20et%20j'ai%20eu%20besoin%20de%20lister%20facilement%20le%20status%20de%20nombreuses%20bases%2Ffichiers.%3C%2FLINGO-TEASER%3E%3CLINGO-LABS%20id%3D%22lingo-labs-318298%22%20slang%3D%22en-US%22%3E%3CLINGO-LABEL%3EStorage%20Engine%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E
Version history
Last update:
‎Jan 15 2019 03:54 PM
Updated by: