When sql server adds space to a transaction log file (or creates the transaction log file) it needs to zero-out said file. Whilst zeroing out the file Sql Server is unfortunately read-only. Hence why you need to be careful in setting reasonable transaction log growth sizes. I wanted to get a quick fix on how long a particularly old system took to create a file and zero it out, hence this script.
$start = get-date $File = 'c:\fileToCreate.txt' if(Test-Path $File){ Remove-Item $File -Force } $arrSize= 64kb $fileSize= 1GB $buffer = new-object byte[]($arrSize) $stream = [io.File]::OpenWrite($File) try{ $size = 0 while($size -lt $fileSize){ $stream.Write($buffer, 0, $buffer.Length); $size += $buffer.Length; } } finally{ if($stream){ $stream.Close(); } $ts = New-TimeSpan -Start $start -End (Get-Date) $ts }