Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/67.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/27.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代理限制?_Sql_Sql Server_Ssis - Fatal编程技术网

SQL Server代理限制?

SQL Server代理限制?,sql,sql-server,ssis,Sql,Sql Server,Ssis,我有一个SSIS包,其中包含一个用于调用带有参数的SFTP可执行文件的C脚本。这个脚本实际上只调用带有参数的可执行文件并下载一组文件。当我在visualstudio中运行它,或者通过integrationservices在服务器上手动执行包时,这部分可以完美地工作。但是,当我指定一个代理来运行这个包时,可执行文件永远不会运行。我看过了,可执行文件甚至从未启动过。代理是否有某种方式无法在包含调用可执行文件的代码段的包中执行C脚本 我不认为这是一个文件路径问题,因为我可以右键单击并选择在同一台服务器

我有一个SSIS包,其中包含一个用于调用带有参数的SFTP可执行文件的C脚本。这个脚本实际上只调用带有参数的可执行文件并下载一组文件。当我在visualstudio中运行它,或者通过integrationservices在服务器上手动执行包时,这部分可以完美地工作。但是,当我指定一个代理来运行这个包时,可执行文件永远不会运行。我看过了,可执行文件甚至从未启动过。代理是否有某种方式无法在包含调用可执行文件的代码段的包中执行C脚本


我不认为这是一个文件路径问题,因为我可以右键单击并选择在同一台服务器上的integration services中运行包,它将正常工作。

当您在SQL Agent中运行它时:

它在SQL Server上运行,而不是本地运行,即不在客户端计算机上运行 它以SQL代理用户身份运行 右键单击SSIS服务中的包时,它实际上也在本地运行,而不是在SQL Server上运行。至少到2008年的版本-我不知道更新的版本

答案在您的SSIS日志中-它是否到达任务?当它到达那里时有什么信息?如果没有日志记录,请打开并检查它


您能否澄清SQL Server是否远程,您使用的SQL Server版本,以及SSIS日志对此步骤的说明。

如果我不清楚,请告诉我。谢谢。很抱歉,我正在使用SQL Server 2012,当我通过远程桌面远程进入机器以开发包时,我也正在从所述机器将包上载到同一台机器。日志中只有我找到的与SFTP部分相关的信息:OnPreExecute、\svcSqlAgent、Acquire Files、{blahblahblah},2013年2月10日下午6:07:10,2013年2月10日下午6:07:10,0,0x,OnPostExecute,\svcSqlAgent,获取文件,{blahblahblah},2013年2月10日下午6:07:10,2013年2月10日下午6:07:10,0,0x,您的SFTP任务称为“获取文件”吗?什么是废话?看起来它正在进入步骤并无论如何运行它。您可以将SQL代理服务帐户临时设置为您的登录名,以排除安全问题。例如,如果SQL代理服务处于其默认的本地\系统,它将无法访问任何远程驱动器。SFTP不使用远程驱动器。此外,SFTP的“安全”部分可能要求它作为特定用户运行。此外,如果您的SFTP客户端有日志记录,请也启用它。只有通过研究日志,才能弄清这一点。您可能还会在windows事件日志中找到一些信息。谢谢,这无疑为我指明了需要的方向;了解有关日志记录的更多信息。再次感谢您的帮助。