【问题标题】:How to run a ssis package using a sql statement?如何使用 sql 语句运行 ssis 包?
【发布时间】:2010-03-25 21:35:25
【问题描述】:

我使用的是 Sql Server 2008。有一些选项可以从命令行运行。有没有办法使用sql语句执行ssis包?

-Vivek

【问题讨论】:

    标签: sql-server sql-server-2008 ssis


    【解决方案1】:

    我的经验是从 SQL 中控制它们的最简单方法之一不是尝试 xp_cmdshell 等,而是添加一个执行 SSIS 包的作业作为第一步,然后从 SQL msdb.dbo.sp_start_job 中你的工作名称'

    这还可以轻松控制作业在哪个帐户下运行(通过代理/凭据)。

    【讨论】:

    • 还有其他直接从 sql 语句调用 ssis 包的方法吗?
    • 只有我通过 xp_cmdshell 知道的其他选项,但相比之下这只是一个可怕的选项,并且需要 xp_cmdshell 访问,这本身就是一个安全问题。通过作业,您可以在作业完成时通过作业历史记录表进行跟踪,而通过 cmd shell 则不会。
    • 非常感谢。我会采用这种方法。
    • 我有一个网页,客户使用该网页将一些记录从数据库导出到 mdb 文件。我为此创建了 ssis 。在我之前的方法中,我使用了 dts 包并使用 xp_cmdshell 运行它,以便它等到导出完成。现在在此运行作业方法中,将句柄提供给作业调度程序。我如何让网页等到工作完成,以便我可以将链接提供给客户端以下载 mdb 文件。 -Vivek
    • 作业历史可以通过 sp_help_jobhistory 拉取,可以给你一个run_status msdn.microsoft.com/en-us/library/ms188025.aspx
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多