Я делаю несколько параллельных восстановлений базы данных SQL Server 2005 в powershell. Я сделал это с помощью cmd.exe и запустил так, чтобы powershell не ждал его завершения. Что мне нужно сделать, так это передать вывод в файл журнала с помощью append. Если я использую Add-Content, то powershell ждет, чего я не хочу.
Мой фрагмент кода
foreach ($line in $database_list)
{
<snip>
# Create logins
sqlcmd.exe -S $instance -E -d master -i $loginsFile -o $logFile
# Read commands from a temp file and execute them in parallel with sqlcmd.exe
cmd.exe /c start "Restoring $database" /D"$pwd" sqlcmd.exe -S $instance -E -d master -i $tempSQLFile -t 0 -o $logFile
[void]$logFiles.Add($logFile)
}
Проблема в том, что sqlcmd.exe -o перезаписывает. Я пытался сделать это, чтобы добавить:
cmd.exe /c start "Restoring $database" /D"$pwd" sqlcmd.exe -S $instance -E -d master -i $tempSQLFile -t 0 >> $logFile
Но это не работает, потому что вывод остается в окне SQLCMD и не переходит в файл. Какие-либо предложения?
Спасибо, Марк.