如何分析Windows平台下,一个文件是否碎片化呢?
例如:Outlook 2003的pst文件。
Small function to determine if a file is fragmented - for instance to analyzed an .ldf/.mdf file.
The function below also demonstrates one way to invoke an external command/tool (in this case "contig.exe" from www.sysinternals.com).
The function requires contig.exe to be in the local path.
function getFileFragments {
$filename = $args[0]
$contigOutput = contig -a $filename
foreach ($line in $contigOutput) {
if ($line -match "Average fragmentation") {
$splitline = $line.split()
$x = $splitline.count
Write-Host $splitline[$x -2]
}
}
}
Usage:
getFileFragments "c:boot.ini"
One alternative to the outlined function would be to use the xp_cmdshell in SQL to remotely analyse a given .mdf/.ldf file. This would of course require the xp_cmdshell extended stored procedure to be enabled on the SQL server.
EXEC xp_cmdshell "fileserverfilesharecontig.exe -a localsqlfile.mdf"
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/7176288/viewspace-896046/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/7176288/viewspace-896046/