【问题标题】:Run SSIS package manually under a specific account在特定帐户下手动运行 SSIS 包
【发布时间】:2020-06-18 22:00:38
【问题描述】:

我有一个包存储在文件系统中。我必须手动运行包,因此我使用“集成服务”打开 MSSMS 并使用“Windows 身份验证”。该软件包在我的帐户下执行。集成服务中是否有任何设置可以在另一个帐户下执行包?我的windows账号太强大了,所以我的目标是在一个有一些限制的特定账号下执行包。

【问题讨论】:

    标签: ssis


    【解决方案1】:

    我想到了三种不同的方法。

    方法一

    如果您喜欢当前使用集成服务对象类型打开 SSMS 以查找包并运行它的方法,请继续这样做。诀窍是当你运行程序时,你需要告诉 Windows 你想以另一个用户的身份运行。 Run SSIS package using T-SQL under different account 您可以通过 Ctrl-Shift-右键单击来调出 UI 或使用命令行和 RunAs

    如果您知道包的位置(文件系统与数据库),则可以通过构建命令行参数 dtexec.exe /file C:\packages\are\here\mypacakage.dtsx 来消除鼠标点击

    方法二

    打开 Windows 任务计划程序并定义一个作业以使用上述命令行调用 (dtexec),但不要安排它,因此它是一个临时作业。 Windows 任务计划程序了解模拟其他用户的概念,因此它会提示您输入凭据以在其下运行进程。

    方法三

    类似于两个,但在这里我们将使用 SQL 代理来完成我们的脏活。同样,这是一项计划外的工作,但使用 Agent 运行包的好处是 SSIS 工作步骤类型“知道”如何构建 dtexec 的命令。

    要完成这项工作,您需要创建凭据,然后为凭据创建代理,然后允许在集成服务类型的作业步骤中使用代理。

    我通常会打开 SSMS,所以我可能会采用方法 3 并以我非凡的宇宙力量启动这项工作,然后将其压缩到一个小小的苦工帐户中

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-09-23
      • 2018-10-19
      • 1970-01-01
      • 2013-08-02
      • 1970-01-01
      • 2017-12-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多