3

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

谢谢


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

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

4

3 回答 3

2

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

因此,从本质上讲,dtsconfig 文件的“位置”是您想要存储它的位置,无论是文件系统还是某个数据库。

编辑:

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

于 2012-11-27T08:10:11.890 回答
1

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

当您单击清单文件时,它会询问部署目标。

可以选择远程SQL server,没问题,SSIS包会部署到数据库中(默认在master下,msdb.dbo.sysssispackages,除非修改了远程SQL server中的MsDtsSrvr.ini.xml文件)。

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

首先,它通过询问您一个新的系统文件路径来尝试变得聪明,以便它复制您的本地 dtsconfig 文件。是的,dtsconfig 文件不会与您的 SSIS 包一起存储,即使您选择将 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:\远程 SQL 服务器(即使您在第一步中已指定部署到远程 SQL 服务器)。但与此同时,您在远程 SQL 服务器中部署的 SSIS 包正在更新到此文件路径,该文件路径本质上指向远程 SQL 服务器中的 C:\...

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

于 2012-11-28T01:05:53.610 回答
0

我有另一个解决方案:

您可以使用表中的配置文件将您的配置设置存储在表上,并将该表用于包配置。

于 2016-04-27T05:46:26.283 回答