微软 BI 系列随笔 - SSIS 2012 基础 - SSIS 项目部署模型


关于部署

SSIS 2012 支持两种部署模型:项目部署模型和包部署模型。 使用项目部署模型可以将项目部署到 Integration Services 服务器,使用包部署模型可以将单独的包部署到Integration Services 服务器。


下表显示使用项目部署模型和使用包部署模型之间的差异和相似之处。

在使用项目部署模型时

使用包部署模型时

项目是部署单元。

包是部署单元。

参数用于向包属性赋值。

配置用于向包属性赋值。

将包含包和参数的项目生成为一个项目部署文件(.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目录查看部署后的结构

总结

本文介绍了微软SSIS的部署,希望能够帮助初学SSIS的开发者更好的掌握SSIS。后面将继续介绍如何运行和配置SSIS。

SSIS 项目部署模型的更多相关文章

  1. SSIS教程:创建简单的ETL包 -- 6. 对项目部署模型使用参数(Using Parameters with the Project Deployment Model)

    在本课中,将修改在第 5 课: 添加包部署模型的包配置中创建的包,以便使用项目部署模型.您将使用一个参数替换该配置值,以便指定示例数据位置.还可以复制本教程附带的已完成的 Lesson 5 包. 使用 ...

  2. SSIS2012 项目部署模型

    SSIS 2012 支持两种部署模型:项目部署模型和包部署模型. 使用项目部署模型可以将项目部署到 Integration Services 服务器,使用包部署模型可以将单独的包部署到Integrat ...

  3. SSIS的部署和配置

    参考:http://www.cnblogs.com/JasonLiao/p/SSISDeploy.htmlhttps://msdn.microsoft.com/en-us/library/ms1401 ...

  4. SSIS教程:创建简单的ETL包 -- 5. 添加包部署模型的包配置(Adding Package Configurations for the Package Deployment Model)

    包配置允许您从开发环境的外部设置运行时属性和变量. 配置允许您开发灵活且易于部署和分发的包.Microsoft Integration Services 提供了以下配置类型: XML 配置文件 环境变 ...

  5. tensorflow 模型保存与加载 和TensorFlow serving + grpc + docker项目部署

    TensorFlow 模型保存与加载 TensorFlow中总共有两种保存和加载模型的方法.第一种是利用 tf.train.Saver() 来保存,第二种就是利用 SavedModel 来保存模型,接 ...

  6. ThinkPHP 学习笔记 ( 一 ) 项目部署:应用部署方式与模块分组部署方式

    /** * ThinkPHP version 3.1.3 */ ThinkPHP ( 官方网站:http://www.thinkphp.cn/ ) 目前最新版本是 3.2.2,它要求 PHP 的版本高 ...

  7. 用户 'IIS APPPOOL\**' 登录失败的解决方案(项目部署到本地IIS上打开网页出现报错)

    为开发方便-将项目部署到本地IIS上打开网页出现报错 1.打开IIS管理 2.点击应用池 3.找到你部署的网站名,右键“高级设置”——>“进程模型”——>“标识”修改为localsyste ...

  8. 2016/5/6 thinkphp ①框架 ② 框架项目部署 ③MVC模式 ④控制器访问及路由解析 ⑤开发和生产模式 ⑥控制器和对应方法创建 ⑦视图模板文件创建 ⑧url地址大小写设置 ⑨空操作空控制器 ⑩项目分组

    真实项目开发步骤: 多人同时开发项目,协作开发项目.分工合理.效率有提高(代码风格不一样.分工不好) 测试阶段 上线运行 对项目进行维护.修改.升级(单个人维护项目,十分困难,代码风格不一样) 项目稳 ...

  9. python-django框架-电商项目-项目部署_20191127

    python-django框架-电商项目-项目部署: uwsgi作为web服务器: 在pycharm中启动项目:使用python manage.py runserver 这个runserver是dja ...

随机推荐

  1. PHP判断变量是否为整型

    1.使用is_int() 2.使用is_numeric() 两个函数的区别,当变量为'1'时, is_int()的返回值为false, is_numeric()的返回值为true 当变量为1时, 两个 ...

  2. Android学习(未完)

    Android四大组件1.Activity活动活动Activity是一种可以包含用户界面的组件,主要用于和用户进行交互活动之间使用intent进行通信,激活组件,分为1.显式intent2.隐式int ...

  3. Java:多线程<三>死锁、线程间通讯

    死锁: 同步嵌套同步,而且使用的锁不是同一把锁时就可能出现死锁 class Test implements Runnable { private boolean flag; Test(boolean ...

  4. iOS开发拓展篇—封装音频文件播放工具类

    iOS开发拓展篇—封装音频文件播放工具类 一.简单说明 1.关于音乐播放的简单说明 (1)音乐播放用到一个叫做AVAudioPlayer的类 (2)AVAudioPlayer常用方法 加载音乐文件 - ...

  5. HDU 1171 背包

    Big Event in HDU Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others ...

  6. Codeforces Round #370 (Div. 2) E. Memory and Casinos 线段树

    E. Memory and Casinos 题目连接: http://codeforces.com/contest/712/problem/E Description There are n casi ...

  7. JDK1.5新特性

    静态导入 import static java.util.Collections.*; import static java.lang.System.out; 1.如果静态导入的成员与本类的成员存在同 ...

  8. 搭建mysql5.626及如何去官网下载历史版本数据库

    MySQL官网下载历史版本 网上搜索MySQL官网 2 查询所有的归档文件   点击进入服务器列表   列表中默认只有Windows 版本的,可选择其它版本,但无法进行查询   查看网页元素   发现 ...

  9. SSL/TLS 高强度加密: 常见问题解答

    关于这个模块 mod_ssl 简史 mod_ssl会受到Wassenaar Arrangement(瓦森纳协议)的影响吗? mod_ssl 简史 mod_ssl v1 最早在1998年4月由Ralf ...

  10. AsyncTask异步交互

    package com.baidu.day06asynctask; import java.util.ArrayList; import java.util.List; import com.baid ...