SQL 服务器代理 SSIS 包获取连接错误
SQL Server Agent SSIS Package AcquireConnection Error
我有一个基本的 SSIS 包,它从 Redshift 数据库 ODBC DSN 连接中提取数据,并使用 OLEDB 连接将其放入 SQL 服务器数据库中。当我测试 Visual Studio 中的连接时,一切都成功了。当我 运行 Visual Studio 中的包和来自 SQL 服务器的 SSIS 实例时,它们都成功了。但是,当我尝试从 SQL 服务器代理作业 运行 它失败并显示 AcquireConnection 方法失败错误。
VS solution/project 针对 SQL 服务器 2014 与服务器相同。
VS solution/project 64bitRunTime 属性 设置为 false 所以它将 运行 作为 32 位。
SQL 代理中作业步骤的配置也设置为 32 位。
作业所有者和步骤的包登录都设置为"sa"(仅用于测试)。
还是不行。有什么想法吗?
案例之间的区别在于用户凭据。当你 运行 包时 - 它 运行 在你的凭据下,当 SQL 服务器代理 运行 它 - 它(默认)运行 在服务中帐号。
测试和修复的方法:
- 创建一个 SQL Credential, SSIS execution proxy 并配置作业步骤以在 运行 中作为 下拉列表使用它。
用于测试 - 创建一个映射到您的帐户的凭据。
- 更改 SQL 代理启动的帐户或向服务帐户添加权限。
我选择第一种方法,因为它更精细并且只影响你的工作。
我有一个基本的 SSIS 包,它从 Redshift 数据库 ODBC DSN 连接中提取数据,并使用 OLEDB 连接将其放入 SQL 服务器数据库中。当我测试 Visual Studio 中的连接时,一切都成功了。当我 运行 Visual Studio 中的包和来自 SQL 服务器的 SSIS 实例时,它们都成功了。但是,当我尝试从 SQL 服务器代理作业 运行 它失败并显示 AcquireConnection 方法失败错误。
VS solution/project 针对 SQL 服务器 2014 与服务器相同。
VS solution/project 64bitRunTime 属性 设置为 false 所以它将 运行 作为 32 位。
SQL 代理中作业步骤的配置也设置为 32 位。
作业所有者和步骤的包登录都设置为"sa"(仅用于测试)。
还是不行。有什么想法吗?
案例之间的区别在于用户凭据。当你 运行 包时 - 它 运行 在你的凭据下,当 SQL 服务器代理 运行 它 - 它(默认)运行 在服务中帐号。
测试和修复的方法:
- 创建一个 SQL Credential, SSIS execution proxy 并配置作业步骤以在 运行 中作为 下拉列表使用它。
用于测试 - 创建一个映射到您的帐户的凭据。 - 更改 SQL 代理启动的帐户或向服务帐户添加权限。
我选择第一种方法,因为它更精细并且只影响你的工作。