当前位置: 首页 > 知识库问答 >
问题:

SSIS Execute Process任务在Visual Studio中执行Powershell脚本,但在部署时不执行

严易安
2023-03-14

我试图创建一个带有执行SSIS包步骤的SQL Server作业,该步骤将启动PowerShell脚本,然后在完成后执行一些文件系统任务(在PowerShell脚本成功完成后清理文件系统)

我最初尝试在SQL Server的作业设置中使用PowerShell脚本功能,但我认为SQL Server中的PowerShell环境与本地安装的PowerShell环境并不完全一致,因为我有一个必需的本地安装的PSSnapIn,当以这种方式执行时,SQL Server代理PowerShell步骤无法找到该PSSnapIn,但SSIS执行过程步骤似乎没有这个问题。

也就是说,SSIS Execute Process步骤在从Visual Studio启动时工作(弹出一个命令提示符窗口,显示执行情况,我可以在其中完全验证进程的进度和完成情况),但在部署到服务器时不能正常工作。启动SSIS包的SQL Server代理步骤报告该步骤已成功完成,但当我检查数据进行验证时,似乎什么也没有发生。

要配置SSIS执行过程步骤,我在“可执行”字段中启动PowerShell,并将参数设置为(-executionpolicy byps-command“path_to_my_ps1_script”):

不幸的是,我不确定我还能提供什么视觉效果来更清楚地解释我的问题,但如果有什么可以帮助的,请让我知道。我使用PowerShell4执行部署在带有SQL Server2008R2的Windows Server2008R2上的脚本。

共有1个答案

王楚青
2023-03-14

我也遇到过类似的问题:当我从目录中执行包时,它什么也不做,但当我从SQL Server代理中执行包时,它就工作了。确保您的SQL Server代理服务帐户(该步骤运行时所用的帐户)对需要使用的文件和目录具有必要的访问权限。

 类似资料:
  • 我尝试使用< code>taskscheduleR库每分钟运行一次脚本。我正在遵循GitHub页面上的示例,但是遇到了以下问题: < li>R表示任务已创建,但脚本未正确执行(它应该以追加模式将数据写入文件-有问题的文件已经存在) < li >我没有看到任何日志文件-我认为它们应该存储在与正在执行的脚本相同的位置 < li >使用< code > task scheduler _ delete("

  • 问题内容: 我正在尝试从Jenkins运行PowerShell脚本,但是它似乎完全忽略了执行策略!通过直接执行powershell.exe或使用PowerShell插件来实现 附加信息: Jenkins作为Windows服务运行(使用本地系统帐户,非交互式)。连接到该服务器并检查执行策略确实是: 但是,在运行Jenkins构建时,情况并非如此。这是在构建步骤中执行的输出: 我还尝试从构建步骤明确设

  • 问题内容: 我一直在网上和Stackoverflow上浏览,但是没有找到这个问题的答案。您将如何从Node.js执行Powershell脚本?该脚本与Node.js实例位于同一服务器上。 问题答案: 您可以仅生成一个子进程“ powershell.exe”,并侦听stdout的命令输出和stderr的错误:

  • 问题内容: 跟踪任务在gradle构建脚本中花费了多长时间的最优雅的方法是什么?在最佳情况下,将时间直接记录在任务名称的同一行或下一行 问题答案: 最干净的解决方案是实现TaskExecutionListener(我确定您可以处理该部分)并向进行注册。

  • 问题内容: 如何从“脚本” 执行PowerShell ps1脚本? 我知道如何在package.json“ scripts”中设置基本脚本。例如,使用以下配置,我可以执行该命令,该命令将向控制台输出“这仅仅是测试”: 但是,我有一个更高级的场景,我想执行一个PowerShell脚本。像这样: 我可以通过scripts对象执行这样的ps1脚本吗?是否需要任何特殊的设置/配置?还有其他限制吗? 问题答

  • 问题内容: 我正在用geb进行功能测试。 我的应用程序是使用virgo部署的,并使用HSQLDB来存储数据。我想在此工作版本的应用程序上执行测试,但是每次运行webtests时,我都想从空数据库开始。 我写了一个简单的bash脚本 这将删除数据库并重新启动处女座。 但是,当我将其添加到build.gradle任务执行命令时,它永远不会结束。 为什么这样呢?当我在控制台中运行此脚本时,它会迅速返回(