dtsconfig文件存储在SQL服务器中的哪个位置?

时间:2012-11-27 07:08:10

标签: ssis sql-server-2008-r2

我知道我可以在msdb.dbo.sysssispackages下找到包(XML),但dtsconfig文件在哪里?

谢谢


编辑: 我使用BIDS来创建SSIS和XML配置。构建项目后,它在deploy / bin下创建了一个清单文件。单击它后,我选择了数据库服务器作为目标,然后部署了SSIS并为我部署了dtsconfig。我可以在msdb.dbo.sysssispackages下找到SSIS,但找不到dtsconfig文件。

它不能仍然在我的本地文件系统下,那不是一个部署,不是吗?

3 个答案:

答案 0 :(得分:2)

配置文件(XML)由您创建,指定使用XML文件进行配置。您可以在此处阅读有关如何设置此内容的大量文章:http://www.simple-talk.com/sql/ssis/xml-configuration-files-in-sql-server-integration-services/

因此,实际上,dtsconfig文件的“where”是您要存储它的位置,无论是文件系统还是某个数据库。

修改

要明确:即使将软件包部署到SQL Server目标,也不一定以相同的方式部署软件包配置。在设置包配置时再次检查,尤其是在第13步中使用 “选择配置类型” 。在这里,您将指定是将您的配置作为XML文件,还是将数据库中的SSIS-Config样式表中的行指定为某个位置。有关如何使用数据库设置配置而不是文件的说明,请参见此处。 http://www.mssqltips.com/sqlservertip/1405/sql-server-integration-services-ssis-package-configuration/

答案 1 :(得分:1)

好的,经过一些测试后,我想我已经弄清楚它在清单部署中是如何工作的。

单击清单文件时,它将询问部署目标。

您可以选择远程SQL服务器,没问题,SSIS包将被部署到数据库中(默认情况下,在master,msdb.dbo.sysssispackages下,除非远程SQL服务器中的MsDtsSrvr.ini.xml文件被修改)。

但是如果你的SSIS包使用任何dtsconfig文件,那么清单部署就有点傻了。

首先,它通过向您询问新的系统文件路径来复制本地dtsconfig文件,从而尝试变得聪明。是的,即使您选择将SSIS包部署到数据库,dtsconfig文件也不会与SSIS包一起存储。它必须存储在系统文件目录下。我的默认值是C:\ Program Files(x86)\ Microsoft SQL Server \ 100 \ DTS \ Packages [源文件夹名称]。

清单部署很智能,因为您的SSIS包配置为使用来自任何路径(本地或远程)的dtsconfig文件,它可以通过将旧路径替换为您刚刚指定的新路径来更新SSIS包。但它并不那么聪明,因为如果使用默认值(即C:\ Program Files(x86)\ Microsoft SQL Server \ 100 \ DTS \ Packages \ MySSISProject),此路径表示您的C:\,而不是C:\ in远程SQL服务器(即使您已指定在第一步中部署到远程SQL服务器上)。但与此同时,部署在远程SQL服务器中的SSIS包正在更新到此文件路径,该路径实际上指向C:\ IN远程SQL服务器......

最后,您必须使用远程桌面将dtsconfig文件实际复制到远程SQL Server系统文件目录。

答案 2 :(得分:0)

我有另一个解决方案:

您可以使用表格中的Config文件存储表格中的配置设置,并使用该表进行包配置。