在使用项目部署模型时 |
使用包部署模型时 |
---|---|
项目是部署单元。 |
包是部署单元。 |
参数用于向包属性赋值。 |
配置用于向包属性赋值。 |
将包含包和参数的项目生成为一个项目部署文件(.ispac 扩展名)。 |
包(.dtsx 扩展名)和配置(.dtsConfig 扩展名)单独保存到文件系统中。 |
将包含包和参数的项目部署到 SQL Server 实例上的 SSISDB 目录中。 |
包和配置复制到另一台计算机上的文件系统中。 包也可以保存到 SQL Server 实例上的 MSDB 数据库中。 |
数据库引擎需要 CLR 集成。 |
数据库引擎不需要 CLR 集成。 |
特定于环境的参数值存储于环境变量中。 |
特定于环境的配置值存储于配置文件中。 |
可在执行前在服务器上验证目录中的项目和包。 可以使用 SQL Server Management Studio、存储过程或托管代码执行该验证。 |
恰好在执行之前对包进行验证。 还可以使用 dtExec 或托管代码验证包。 |
通过对数据库引擎启动执行,来执行包。 在开始执行前,将项目标识符、显式参数值(可选)和环境引用(可选)分配给某一执行。 还可以使用 dtExec 执行包。 |
使用 dtExec 和 DTExecUI 执行实用工具执行包。 适用配置是通过命令提示符参数(可选)来标识的。 |
在执行过程中,包生成的事件将自动捕获并保存到目录中。 您可以使用 TRANSACT-SQL 视图查询这些事件。 |
在执行过程中,包生成的事件不自动捕获。 日志提供程序必须添加到包以便捕获事件。 |
包在单独的 Windows 进程中运行。 |
包在单独的 Windows 进程中运行。 |
SQL Server 代理用于计划包执行。 |
SQL Server 代理用于计划包执行。 |
项目部署模型
下面列出了适用于项目部署模型时的功能:
功能 |
说明 |
参数 | 参数指定包将使用的数据。 您可以分别使用包参数和项目参数将参数范围限定在包级别或项目级别。 参数可用于表达式或任务中。 在将项目部署到目录时,可为每个参数分配文字值,或者使用在设计时分配的默认值。 还可以引用环境变量来代替文字值。 在包执行时解析环境变量值。 |
环境 | 环境是可由 Integration Services 项目引用的变量的容器。 每个项目可以具有多个环境引用,但包执行的单个实例只能引用来自单个环境的变量。 环境允许您对分配给包的值进行组织。 例如,您可以具有名为“开发”、“测试”和“生产”的环境。 |
环境变量 | 环境变量定义可在包执行过程中赋给参数的文字值。 若要使用某一环境变量,请创建环境引用(在与具有参数的环境相对应的项目中),向该环境变量的名称分配某一参数值,并且在配置执行实例时指定相应的环境引用。 |
SSISDB 目录 | 所有 Integration Services 对象都在某一 SQL Server 实例上称作 SSISDB 目录的数据库中进行存储和管理。通过该目录,您可以使用文件夹组织您的项目和环境。每个 SQL Server 实例可具有一个目录。 每个目录中可具有零个或多个文件夹。 每个文件夹可具有零个或多个项目以及零个或多个环境。 该目录中的文件夹也可以用作针对 Integration Services 对象的权限的边界。 |
目录存储过程和视图 | 可以使用大量存储过程和视图来管理该目录中的 Integration Services 对象。 例如,您可以指定参数和环境变量值,创建和启动执行,以及监视目录操作。 您甚至可以精确看到在执行开始前将由包使用的值。 |
部署一个项目
编译项目
在解决方案窗口,选中项目文件,右键单击并选择“编译”。此时Visual Studio将编译整个项目,并在Bin目录下的Development(默认)或Release目录中生成ispac文件。
该文件包含如下信息
@Project.manifest -- SSIS项目的所有基础数据,包扩项目属性,连接,参数,包的属性,连接,参数等等。
[Content_Types].xml -- 该目录下文件的内容类型,如dtsx的内容是text/xml,conmgr 的内容是text/xml等等。
*.conmgr -- 该项目的连接管理器下面的连接
*.dtsx -- 该项目所包含的包文件
Project.params -- 项目的参数。
部署项目
在解决方案窗口,选中项目文件,右键单击并选择“部署”(或者双击编译后的ispac文件)。会打开部署向导窗口。
选择源文件,这里可以选择从项目部署文件或者Intergration Services目录
选择目的地
检查核对信息
部署结果
在Intergration Services目录查看部署后的结构