MS SQL – 通过服务帐户凭据运行SQL Server代理作业的问题

这个工作有5个步骤。 第一份工作是SSIS Package商店,第二份是文件系统工作。 我们将所有作业configuration为使用Windows身份validation。 在“运行方式”下,我们指定了在安全性>凭据和SQL Server代理>代理> SSIS包执行下创build的用户帐户。 作业运行没有任何问题,这个用户帐户。 然后,我们继续configuration作业,以使用服务帐户。 服务帐户是在安全>凭据和SQL Server代理>代理> SSIS包执行下指定的。 作业失败,出现此错误。

以用户身份执行:domain \ serviceaccount。 …对于32位版权所有(C)微软公司1984-2005。 版权所有。 开始:3:37:57 PM错误:2010-03-09 15:37:57.95代码:0xC0016016源:说明:无法解密受保护的XML节点“DTS:Password”,错误为0x8009000B“密钥在指定状态下无效“。 您可能无权访问此信息。 存在encryption错误时会发生此错误。 validation是否有正确的密钥。 结束错误错误:2010-03-09 15:38:01.19代码:0xC0047062来源:最近45天获取CONT_VIEW_LADDER OracleFMDatabase [1]描述:System.Data.OracleClient.OracleException:给出的ORA-01005:null密码; login被拒绝在System.Data.OracleClient.OracleException.Check(OciErrorHandle errorHandle,Int32 rc)在System.Data.OracleClient.OracleInternalConnection.OpenOnLocalTransaction(string用户名,string密码,stringserverName,嘘…该步骤失败。

基于一些研究,然后进入MS Visual Studio并打开项目。 我把包安全的属性从“EncryptSensitiveWithUserKey”更改为“DontSaveSensitive”,但我仍然得到上述错误。 我是新来的,所以任何帮助将非常感激。 提前致谢

问题与encryption警告有关,但这不是失败的原因。 使用用户密钥进行encryption时,只有该用户可以解密连接string中的密码,否则连接string将没有密码。 如果不保存敏感数据,则密码将不会存储在连接string中,因此您需要设置SSISconfiguration以提供正确的连接string。 打开包并selectSSIS,包configuration。 在下一个屏幕中,您将selectnew,然后创build一个基于XML的configuration文件。 当被问到你想要configuration哪些属性时,请select你的oracle连接pipe理器的connectionstring属性,并在你的文件系统的某处创builddtsConfig文件。 创build文件和configuration后,可以将其删除,因为您可能不希望包在文件的相同path中查找。

编辑dtsConfig文件并将密码添加到连接string,然后保存该文件。 把文件放到你想要的地方,然后进入运行SSIS包的作业步骤的属性。 selectconfiguration选项卡,然后浏览到dtsConfig文件。 这应该在运行时应用configuration,并且有关空密码的错误应该消失,并被replace为不同的错误,否则它将起作用。