为 SSIS SourceConnectionOLEDB 指定 windows 帐户

Specifying windows account for SSIS SourceConnectionOLEDB

我正在 SQL 服务器上使用 sp_start_job 从 .aspx 启动 SSIS 包。

此包是一个导入作业,其中目标数据库与作业位于同一台服务器上,因此 DestinationConnectionOLEDB 使用与 运行 作业相同的 SQL-凭据。 但是,源在另一台服务器上,SourceConnectionOLEDB 需要 windows 域帐户才能登录。 (使用我的 windows 帐户,该软件包从 Visual Studio 运行良好)。 SourceConnectionOLEDB 中的帐户我似乎有两种可能的解决方案。

最后一个在Visual Studio中似乎不可能做到,只要我selectWindows身份验证,用户ID和密码字段就被禁用了。或者有没有办法在 SSIS 中保存这些信息?

如果没有,我如何将用户 windows 凭据传递给 sp_start_job

如果我没看错,你有一个 SQL 服务器代理作业,它 运行 是一个 SSIS 包,步骤类型为“SQL 服务器集成服务包”。 您无法在 SSIS (afaik) 中保存 AD 用户登录信息,但您可以通过设置要在该特定作业步骤中使用的凭据和代理来指定哪个用户 运行 是 SQL 服务器中的作业步骤。

当您 运行 作业时,它默认作为 SQL 服务器代理帐户执行,但您可以使用凭据和代理更改它。

  • 凭据(安全 - 凭据)允许您指定用户名和密码(甚至是 AD 用户),稍后由代理使用
  • proxy(SQL 服务器代理 - 代理)允许您指定哪些凭据可用于不同的作业步骤类型。

总结:

  1. 为您的 AD 用户创建凭据对象(安全 - 凭据)
  2. 创建代理对象(SQL 服务器代理 - 代理)
    • 使用第 1 点中定义的凭据
    • 启用子系统“SQL 服务器集成服务包”
  3. 配置作业步骤
    • 在“运行 as”下拉列表中,您应该会看到刚刚创建的代理

当然在你的包中你必须为数据源设置Windows身份验证