Я делаю параллельное восстановление базы данных SQL Server 2005 в powershell. Я сделал это, используя cmd.exe и запустившись, чтобы PowerShell не дожидалась его завершения. Что мне нужно сделать, это направить вывод в файл журнала с помощью добавления. Если я использую 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 и не попадает в файл. Есть предложения?
Спасибо,
Mark.