服务器 Gind.cn

服务器问题集锦,包括 Linux(Ubuntu, Centos,Debian等)和Windows Server服务器

SQL Server代理作业执行SSIS包失败,如果手动运行包成功

我在SQL服务器上安装了一个SSIS包(SQL Server 2012)。 它非常简单,只是从远程数据源提取数据并将其添加到本地表中。 远程连接string正在使用SQL Server身份validation,而本地连接正在使用Windows身份validation。 远程连接密码受到保护,导入软件包时将保护级别设置为依赖服务器存储和angular色进行访问控制 。 如果我手动运行SSIS包,它工作。 如果我使用dtexec从命令行运行它,它的工作原理。 如果我使用runas切换到运行SQL Server代理的域帐户,然后使用dtexec运行该程序包,则可以使用它。 如果我用一个步骤创build一个SQL代理作业来运行该程序包,那么它会失败,并提供很less的细节。 我猜这是无法获得密码login到远程SQL服务器,因为它失败很快。 此外,如果我勾选“login到表”并查看结果文件,我得到以下内容: Description: ADO NET Source has failed to acquire the connection {0D8F2CD4-A763-4AEB-8B52-B8FAE0621ED3} with the following error message: "Login failed for user 'username'.". 如果我尝试在作业步骤对话框中的data sources下手动添加连接string中的密码,它拒绝保存它,总是看似删除连接string的“密码”位。 我认为SQL服务器代理作业总是在SQL服务器代理正在运行的帐户的上下文下运行。 此帐户是本地SQL服务器上的sysadmin ,并且该软件包使用该帐户下的dtexec工作,所以为什么在尝试以代理作业运行时会失败?