Powershell进程等待SQL查询完成

时间:2017-04-27 19:51:49

标签: sql powershell

我有一个每天运行的Powershell脚本。该脚本应该运行SQL查询并创建包含结果的文件。

Import-Module SqlPs
Invoke-Sqlcmd -InputFile "C:\SQL Queries\dailyexport1pm.sql" | Out-File -filepath "I:\HTPN Training and Workflow\Daily Epic Completion\$(get-date -f yyyy-MM-dd)dailyexport1pm.txt"

这曾经有用,但我们最近添加了大量数据,导致查询最多需要3.5分钟。我对powershell没有很强的理解,并且需要在SQL查询完成后运行out-file进程。任何帮助将不胜感激。

该脚本输出一个空白的txt文件。当我检查任务调度程序的最后运行结果时,powershell脚本是唯一的操作,它说"操作成功完成。 (为0x0)"

1 个答案:

答案 0 :(得分:0)

我认为sql文件中可能存在一些错误。请求您尝试一次:

$Error.Clear()
try {

Import-Module SqlPs
Invoke-Sqlcmd -InputFile "C:\SQL Queries\dailyexport1pm.sql" -WarningAction SilentlyContinue  -OutputSqlErrors $false
}
 catch {
    $Error | out-file -filepath "C:\temp\SqlLog.txt"
} 

注意:稍后如果您没有看到任何错误并且输出正确,那么您可以将其传输到' Out-File -filepath" I:\ HTPN Training and Workflow \ Daily Epic Completion \ $( get-date -f yyyy-MM-dd)dailyexport1pm.txt" '

希望它有所帮助。