我正在使用MS SQL Server2016。我有一个SSIS包,其中有一个执行SQL任务。我可以用Visual Studio很好地执行它。部署到SSIS目录时,出现以下错误:
执行SQL任务:错误:无法获取连接。连接可能配置不正确,或者您对此连接没有权限
同样,如果我尝试通过SQL Agent作业执行,则会收到以下信息:
说明:登录失败。该登录名来自不受信任的域,不能与Windows身份验证一起使用。来源:.Net SqlClient数据提供者已开始:15:02:11已完成:15:02:12经过:0.125秒。程序包执行失败。步骤失败。
我想念什么?任何帮助将不胜感激。
SQL Server中的连接管理器正在使用ADO.net,而不是OLEDB
答案 0 :(得分:1)
您可能会错过这样一个事实,当您在Visual Studio中运行程序包时,它将使用您的凭据运行,而当将其部署到SSIS并作为作业运行时,它将在您的SQL代理的系统帐户下运行用途。
因此,您可能没有授予SQL Agent帐户必要的权限。
答案 1 :(得分:0)
问题的原因是,您在连接管理器中使用的是Windows集成安全性,该安全性使用当前Windows用户建立连接。
从SQL作业执行程序包时,它将使用没有连接权限的SQL服务帐户。为了解决这个问题,您可以定义一个代理帐户并以Windows用户身份运行作业: