SSIS 项目部署模型
微软 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教程:创建简单的ETL包 -- 6. 对项目部署模型使用参数(Using Parameters with the Project Deployment Model)
在本课中,将修改在第 5 课: 添加包部署模型的包配置中创建的包,以便使用项目部署模型.您将使用一个参数替换该配置值,以便指定示例数据位置.还可以复制本教程附带的已完成的 Lesson 5 包. 使用 ...
- SSIS2012 项目部署模型
SSIS 2012 支持两种部署模型:项目部署模型和包部署模型. 使用项目部署模型可以将项目部署到 Integration Services 服务器,使用包部署模型可以将单独的包部署到Integrat ...
- SSIS的部署和配置
参考:http://www.cnblogs.com/JasonLiao/p/SSISDeploy.htmlhttps://msdn.microsoft.com/en-us/library/ms1401 ...
- SSIS教程:创建简单的ETL包 -- 5. 添加包部署模型的包配置(Adding Package Configurations for the Package Deployment Model)
包配置允许您从开发环境的外部设置运行时属性和变量. 配置允许您开发灵活且易于部署和分发的包.Microsoft Integration Services 提供了以下配置类型: XML 配置文件 环境变 ...
- tensorflow 模型保存与加载 和TensorFlow serving + grpc + docker项目部署
TensorFlow 模型保存与加载 TensorFlow中总共有两种保存和加载模型的方法.第一种是利用 tf.train.Saver() 来保存,第二种就是利用 SavedModel 来保存模型,接 ...
- ThinkPHP 学习笔记 ( 一 ) 项目部署:应用部署方式与模块分组部署方式
/** * ThinkPHP version 3.1.3 */ ThinkPHP ( 官方网站:http://www.thinkphp.cn/ ) 目前最新版本是 3.2.2,它要求 PHP 的版本高 ...
- 用户 'IIS APPPOOL\**' 登录失败的解决方案(项目部署到本地IIS上打开网页出现报错)
为开发方便-将项目部署到本地IIS上打开网页出现报错 1.打开IIS管理 2.点击应用池 3.找到你部署的网站名,右键“高级设置”——>“进程模型”——>“标识”修改为localsyste ...
- 2016/5/6 thinkphp ①框架 ② 框架项目部署 ③MVC模式 ④控制器访问及路由解析 ⑤开发和生产模式 ⑥控制器和对应方法创建 ⑦视图模板文件创建 ⑧url地址大小写设置 ⑨空操作空控制器 ⑩项目分组
真实项目开发步骤: 多人同时开发项目,协作开发项目.分工合理.效率有提高(代码风格不一样.分工不好) 测试阶段 上线运行 对项目进行维护.修改.升级(单个人维护项目,十分困难,代码风格不一样) 项目稳 ...
- python-django框架-电商项目-项目部署_20191127
python-django框架-电商项目-项目部署: uwsgi作为web服务器: 在pycharm中启动项目:使用python manage.py runserver 这个runserver是dja ...
随机推荐
- HTML5和CSS3登录页面制作实录
本文详细介绍使用HTML5 和CSS3 制作一个登录页面的完整过程. View demo login.html <form id="login"> <h1> ...
- UNIX-LINUX编程实践教程->第八章->实例代码注解->写一个简单的shell
一 分析 要实现一个shell,需包含3个步骤 1)读入指令 2)指令解析 3)执行指令 1 从键盘读入指令 从键盘读入指令的几个要点: 1)调用getc函数等待并获取用户键盘输入. 2)每一行命令的 ...
- OpenBSD为何还在用CVS之感
一个轻松无聊的晚上突然想到一个问题——在当今这个Git大红大紫的时代,OpenBSD为何还在用CVS代码仓库?连他同阵营的FreeBSD都已经改用SVN,宣布逐渐废掉CVS了……问了下google,搜 ...
- ITPUB网站的知识索引汇总
1. ITPUB知识索引树 http://www.itpub.net/tree/ http://www.itpub.net/pubtree/index.htm 2. ITPUB知识索引贴——全文索引 ...
- python实现屏幕截图
from selenium import webdriver import time def capture(url, save_fn="capture.png"): browse ...
- 视频1-14待JSP课程看完再练习
视频1-14待JSP课程看完再练习 http://www.imooc.com/video/5555
- hdu 1041 (OO approach, private constructor to prevent instantiation, sprintf) 分类: hdoj 2015-06-17 15:57 25人阅读 评论(0) 收藏
a problem where OO seems more natural to me, implementing a utility class not instantiable. how to p ...
- Introducing Windows 10 Editions(Windows10版本介绍)
Windows 10将在今年夏天正式发布,今天微软官方博客分享了一些Windows 10版本的细节.详见Introducing Windows 10 Editions Windows 10 HomeW ...
- JEECMS v8 发布,java 开源 CMS 系统
JEECMSv8 是国内java开源CMS行业知名度最高.用户量最大的站群管理系统,支持栏目模型.内容模型交叉自定义.以及具备支付和财务结算的内容电商为一体: 对于不懂技术的用户来说,只要通过后台的 ...
- Java read txt file
package com.Yang; import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;i ...