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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.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 2005 SSIS包的文件系统和SQL Server部署之间有什么区别?_Sql Server 2005_Ssis - Fatal编程技术网

Sql server 2005 SSIS包的文件系统和SQL Server部署之间有什么区别?

Sql server 2005 SSIS包的文件系统和SQL Server部署之间有什么区别?,sql-server-2005,ssis,Sql Server 2005,Ssis,我有一个SSIS包,需要部署到SQL Server代理 它有2个外部依赖项(2个程序集,都安装在GAC中) 现在,该包在文件系统部署下运行良好 但是,当我们部署到SQL Server代理时,它会失败,任务中的“对象引用未设置为对象的实例”,该任务需要1个外部依赖项 只是想让您知道,此外部依赖项是指向正确传真com api的互操作程序集 文件系统部署和SQL Server部署之间的主要区别是什么。我想,如果我能更了解这一点,那么我就可以诊断这个问题。文件系统SSIS部署(我所做的唯一一种)将SSI

我有一个SSIS包,需要部署到SQL Server代理

它有2个外部依赖项(2个程序集,都安装在GAC中)

现在,该包在文件系统部署下运行良好

但是,当我们部署到SQL Server代理时,它会失败,任务中的“对象引用未设置为对象的实例”,该任务需要1个外部依赖项

只是想让您知道,此外部依赖项是指向正确传真com api的互操作程序集


文件系统部署和SQL Server部署之间的主要区别是什么。我想,如果我能更了解这一点,那么我就可以诊断这个问题。

文件系统SSIS部署(我所做的唯一一种)将SSIS包作为文件存储在操作系统上。SQL Server部署(如果我没有记错的话)首先加载要存储在“deploymemt only”文件中的包,该文件稍后用于将它们加载回SQL Server的另一个实例中。(我不知道它们被加载到哪个数据库中——在SQL 7.0和2000中,DTS包存储在msdb中,所以我先看看。可能是未记录的表sysdtspackages?)


就个人而言,随着时间的推移,这一切看起来非常混乱,很难维护,所以我只能坚持使用文件。更弱的安全性,我不确定我错过了什么其他好处,但在更新时,我只复制新文件,就完成了。

SQL Server Integration Services(SSI)可以通过两种方式部署:文件系统部署和SQL Server部署。这里我们将看到这两种方法之间的区别

文件系统部署:

•软件包保存在硬盘驱动器或网络上任何共享文件夹的物理位置上

•如果我们想对软件包进行任何更改,我们可以轻松管理软件包

•软件包在文件系统上可用,因为不会出现服务器停机的问题

•我们可以轻松地将软件包加载到设计器中

SQL Server部署:

•SSIS包将存储在MSDB数据库的sysssipackages表中(我们可以在MSDB数据库的system tables–MSDB.dbo.sysssipackages下找到此表)。如果需要,我们可以将包保存在不同的文件夹中,这些文件夹是虚拟文件夹。在这里,SSIS包不会存储为物理文件,而是存储在MSDB数据库中

•保存在SQL Server上时,多个人可以轻松访问包

•与文件系统相比,它更安全,因为它获得了与数据库安全相同的好处

•我们可以在备份数据库时备份软件包


•我们可以使用sysssipackages表使用SQL Server查询筛选包。

2005和2008将其存储在MSDB中,文件系统将其存储在
%Program Files%\Microsoft SQL Server\90\DTS\packages
,仅供参考。似乎如果我是自己管理SSIS包,我会选择文件系统部署路线。但不幸的是,我不是管理它们的人=(关于安全问题-我们将我们的存储在数据库中,在需要时将它们提取到文件系统中,然后在作业完成或失败时将其删除。虽然不完全安全,但客户需要了解的细节少了一个。Future me在此(2020年7月)。SQL Server存储SSIS包的方式在过去几年中发生了重大变化。如果您关心此主题,您需要做一些认真的研究——不要依赖10多年前的SO帖子!