Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server SSIS无法获取连接。连接可能配置不正确,或者您对此连接没有正确的权限_Sql Server_Ssis_Sql Server 2016_Sql Agent Job_Ssis 2016 - Fatal编程技术网

Sql server SSIS无法获取连接。连接可能配置不正确,或者您对此连接没有正确的权限

Sql server SSIS无法获取连接。连接可能配置不正确,或者您对此连接没有正确的权限,sql-server,ssis,sql-server-2016,sql-agent-job,ssis-2016,Sql Server,Ssis,Sql Server 2016,Sql Agent Job,Ssis 2016,我正在使用MS SQL Server 2016。我有一个SSIS包,其中有一个执行SQL任务。我可以用VisualStudio很好地执行它。当我部署到SSIS目录时,我收到以下错误: 执行SQL任务:错误:无法获取连接。连接可能配置不正确,或者您对此连接没有正确的权限 同样,如果我尝试通过SQL代理作业执行,我会收到以下消息: 说明:登录失败。登录名来自不受信任的域,不能与Windows身份验证一起使用。源:.Net SqlClient数据提供程序已启动:15:02:11已完成:15:02:12

我正在使用MS SQL Server 2016。我有一个SSIS包,其中有一个执行SQL任务。我可以用VisualStudio很好地执行它。当我部署到SSIS目录时,我收到以下错误:

执行SQL任务:错误:无法获取连接。连接可能配置不正确,或者您对此连接没有正确的权限

同样,如果我尝试通过SQL代理作业执行,我会收到以下消息:

说明:登录失败。登录名来自不受信任的域,不能与Windows身份验证一起使用。源:.Net SqlClient数据提供程序已启动:15:02:11已完成:15:02:12已用时间:0.125秒。包执行失败。步骤失败了

我错过了什么?任何帮助都将不胜感激


SQL server中的连接管理器使用的是ADO.net,而不是OLEDB。您可能忽略了这样一个事实:在Visual Studio中运行包时,它会使用您的凭据运行;在将其部署到SSIS并将其作为作业运行时,它会在SQL代理使用的系统帐户下运行


因此,您可能没有为SQL代理帐户授予必要的权限。

问题的原因是,在连接管理器中,您使用的是windows集成安全性,该安全性使用当前windows用户建立连接

从SQL作业执行包时,它使用的SQL服务帐户没有连接权限。为了解决此问题,您可以定义代理帐户并以windows用户身份运行作业:


因此,如果SQL代理作为系统帐户运行,则此系统帐户需要访问“执行SQL”任务中的原始数据库?它需要访问包所需的任何数据库、文件夹等。你还没有共享你的代码,所以我不能说得更具体。建议遵循最小特权的概念。在生产环境中运行包的任何帐户都只应具有执行指定任务集所需的必要权限。换句话说,不要向服务帐户授予管理员级别的权限。而是授予特定的权限。您好-我正在使用ADO而不是OLEDB连接管理器,如果有帮助的话?@Michael,情况也是如此。我从答案中删除了OLEDB这个词。