【问题标题】:What are the differences between File System and SQL Server deployments for SSIS packages?SSIS 包的文件系统和 SQL Server 部署之间有什么区别?
【发布时间】:2009-07-15 17:09:51
【问题描述】:

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

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

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

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

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

文件系统部署和 SQL Server 部署之间的主要区别是什么。我想如果我能多理解一点,那么我或许能够诊断出这个问题。

【问题讨论】:

    标签: sql-server-2005 ssis


    【解决方案1】:

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

    就我个人而言,随着时间的流逝,这一切看起来都非常混乱且难以维护,以至于我只是坚持使用文件。安全性较弱,我不确定我错过了哪些其他好处,但在更新时,我只需复制新文件即可。

    【讨论】:

    • 2005 和 2008 将其存储在 MSDB 中,文件系统将其存储在 %Program Files%\Microsoft SQL Server\90\DTS\Packages,仅供参考。
    • 好像我自己管理 SSIS 包我会走文件系统部署路线。但不幸的是,我不是管理他们的人 =(
    • 关于安全问题 - 我们将我们的存储在数据库中,在需要时将它们提取到文件系统,然后在作业完成或失败时将其删除。并非完全安全,但客户必须了解的细节少了一个。
    • 未来我在这里(2020 年 7 月)。 SQL Server 存储 SSIS 包的方式在过去几年中发生了显着变化。如果这个主题与您有关,您需要做一些认真的研究——不要依赖 10 多年前的 SO 帖子!
    【解决方案2】:

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

    文件系统部署:

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

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

    •在文件系统上时可以使用包,因为不会出现服务器关闭的问题。

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

    SQL Server 部署:

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

    •保存在 SQL Server 上的包可以被多个人轻松访问。

    •与文件系统相比,它更安全,因为它具有与数据库安全性相同的优势。

    •我们可以在备份数据库的同时备份包。

    •我们可以使用 sysssispackages 表使用 SQL Server 查询过滤包。

    【讨论】:

      猜你喜欢
      • 2017-05-10
      • 2023-04-08
      • 1970-01-01
      • 2021-10-24
      • 1970-01-01
      • 2012-08-09
      • 2010-10-20
      • 2019-02-28
      • 1970-01-01
      相关资源
      最近更新 更多