Sql server 使用Windows任务计划程序运行的PowerShell脚本未运行SQL Server SSIS DTEXEC.EXE作业
希望这个问题足够独特,不会重复。我有一个PowerShell脚本,它可以做两件事Sql server 使用Windows任务计划程序运行的PowerShell脚本未运行SQL Server SSIS DTEXEC.EXE作业,sql-server,windows,powershell,ssis,scheduled-tasks,Sql Server,Windows,Powershell,Ssis,Scheduled Tasks,希望这个问题足够独特,不会重复。我有一个PowerShell脚本,它可以做两件事 将记录插入SQL Server表中 将文本写入文本文件 为了写这篇文章,我简化了脚本。在我的计算机上,脚本位于C:\Temp\ssis.ps1。以下是脚本的内容 DTEXEC.EXE /F "C:\Temp\ssisjob.dtsx" $date = Get-Date Write-Output "This PowerShell script file was last run on $date" >&
DTEXEC.EXE /F "C:\Temp\ssisjob.dtsx"
$date = Get-Date
Write-Output "This PowerShell script file was last run on $date" >> C:\Temp\test.txt
手动运行此PowerShell脚本时,会将记录插入SQL Server表,并将一行文本写入test.txt文件。如果我计划使用Windows Task Scheduler运行此脚本,则会将一行新的文本写入文本文件,但不会将记录插入SQL Server表中。这说明Windows任务计划程序能够运行PowerShell脚本。但是,由于某些未知原因,Windows任务计划程序似乎不希望运行脚本的SSIS作业(DTEXEC.EXE)部分。事件查看器确认SSIS作业存在问题。我正在运行Microsoft SQL Server 2014,开发人员版本
在我的任务中的“操作”选项卡上,“添加参数”字段具有以下引用:C:\Temp\ssis.ps1。任务计划程序配置为以最高权限运行
我已在PowerShell中尝试了以下所有执行策略。无论我选择何种执行策略,我的经验都不会改变
- 绕过
- 无限制
- 远程签名
我已经调试这个问题几个星期了,我在这里读了很多关于Stack Overflow的帖子,但是我似乎仍然找不到答案,所以希望我在写新帖子之前已经做了尽职调查。我可以补充一些额外的观察结果,但我不希望我在这里的帖子太长。如果任何人有任何提示、提示或见解可以引导我走上正确的道路,我将不胜感激。以下是我提出的解决方案。我没有将文件导出到Excel,而是导出到一个平面文件(txt文件)。另外,使用Nick McDermaids优秀的推荐,而不是在任务调度器中使用PowerShell,我在任务调度器中启动了dtexec.exe文件 任务调度程序操作选项卡
- 将操作保留为启动程序
- 在程序/脚本中,键入dtexec.exe
- 在“添加参数”中,键入/f“C:\path\to\example.dtsx
- 将“开始”框留空