2016-12-16 110 views
0

我在设置SQL Server代理程序时无法使用配置文件执行SSIS包。如果它很重要,我们有SSIS 2012和SQL Server 2014 SP1。在SQL代理作业中添加SSIS包配置时出错

包存储在我们的数据库服务器上的文件系统中。在作业设置中单击“配置”选项卡后,我成功地能够添加在缺省程序包存储路径中找到的.dtsConfig文件:C:\ Program Files \ Microsoft SQL Server \ 120 \ DTS \ Packages。

然而,当点击确定保存,我得到了以下错误:

“访问路径C:\ Program Files文件\ Microsoft SQL Server的\ 120个\ DTS \ \包PackageName.dtsx被拒绝(mscorlib程序)“

首先,我绝对有权访问该路径,就像我们的SQL代理帐户以及用于通过代理运行程序包的代理帐户一样。其次,为什么它会在配置选项卡上访问软件包的错误,而不是访问配置文件?

有问题的软件包在我成功运行作业时执行,但似乎完全没有任何作用。我的想法是它可能没有使用配置文件(因为它认为对某些东西的访问被拒绝),因此不会寻找正确的网络路径。其他人遇到这个?

+0

我没有适合您的解决方案,但是当我转移到SQL Server 2012时,我更改为项目部署模型,该模型为包部署(使用.dtsConfig)模型提供了许多优势。你是从实际的SQL服务器还是从客户端设置作业? –

+0

它给我的桌面和当我远程进入服务器的错误。感谢您的建议,但我不想使用项目部署,因为这对我们的环境来说是不必要的复杂 - 这些不是真正的ETL包,而是从电子表格或平面文件中获取数据并加载它到我们的一个主要应用程序使用的数据库中(它不是仓库)。换句话说,它们是独立的软件包,所以不需要投入项目。 –

回答

0

权限并不总是级联到子文件夹。检查子文件夹并确认那里存在的权限。

即使您的代理帐户对文件夹链的底部有“FULL”控制,它也可以拒绝访问子文件夹。

0

事实证明,这个错误并不是程序包无法拾取文件的原因。程序包配置文件在For Each循环中缺少集合文件夹的变量。所以,即使它给出了一个错误,它实际上使用了包配置。虚惊!

相关问题