参考:
http://www.cnblogs.com/JasonLiao/p/SSISDeploy.html
https://msdn.microsoft.com/en-us/library/ms140117%28v=sql.105%29.aspx
http://stackoverflow.com/questions/21555086/how-to-deploy-a-existing-ssis-package-in-sql-server-2012
https://www.sqlshack.com/single-package-deployment-in-sql-server-integration-services-2016/

SSIS有两种部署模型:项目部署模型和包部署模型,主要是将"项目"和"单独的包"分别部署到Integration Service服务器上。

项目部署模型:项目是部署单元
  部署到SQL Server的 Integration Services Catalogs下的SSISDB中,需要先创建SSISDB
  在VS中,右键项目--deploy (或者双击SSIS工程目录下--bin\Development\.ispac文件)
  然后弹出"部署向导",选择.ispac文件,选择部署的SQLServer目的地(实例名和SSISDB的路径)
  部署之后,可以右键包名,配置包运行时的参数,然后运行
  查看运行结果,reports--All Execution

包部署模型:包是部署单元, 日志提供程序必须添加到包以便捕获事件,包生成的事件不自动捕获
  文件系统:包被存储在你选择的文件夹内;
  SSIS包存储:包被保存到SSIS服务管理的一套文件系统表中,位于\Program Files\Microsoft SQL Server\100\DTS for SQL Server 2008文件夹下;
  MSDB数据库:包被存储在dbo.sysssispackages 表中

包部署模型中的四种主要的部署方式:

  • 传统方式
  • 手动方式
  • 命令方式
  • 实用方式

分别详细描述一下各种方式.

传统方式

使用内置的部署方法来发布包到服务器上:首先,SSISDeploymentManifest(SSIS项目),这是一个用来描述哪些包需要被部署到服务器的基础信息的XML。如果双击项目,一个向导将会协助你发布包到服务器。

按照以下步骤创建即可:

  1. 右击项目选择属性。在配置属性中,选择部署(Deployment Utility)。设定CreateDeploymentUtility 属性为True。能看到如下图1所示。
  2. 右击项目(project ),然后点击生成(Build)。将会创建清单中的内容到配置的文件夹里然后将所有的包复制到文件夹中。

  3. 在部署文件中, 默认(.\bin\Deployment),然后双击ISDM文件进入部署向导。

  4. 按照部署向导来部署你的文件,

图1

手动方式

对于能够远程控制服务器的人来说(DBA…),可以手动做任何事情:比如手动部署包。

  1. 使用Management Studio 登陆SSIS服务浏览你打算部署的文件夹。
  2. 右键文件夹并选择“导入包”。
  3. 在对话框中指定包的地址,然后点击ok

对于喜欢在BIDS处理的人来说可以如下处理:

  1. 打开包。在菜单中,找到文件并且选择另存为"Save Copy of [myPackage.dtsx] As" 如下图2所示 。
  2. Hit OK. 在对话框中选择目的位置,并且选择包需要被部署的位置。点击Ok

图2

命令方式

如果你是那些十分热爱命令行的家伙,那么也可以直接使用命令行部署包。典型的CMD line 如下:

dtutil /FILE “C:\myPackages\myPackage.dtsx” /DestServer myServer /Copy SQL;myPackage

注意:目的包名称中没有.dtsx 扩展名。

实用方式

最后介绍一下我最为喜欢的部署包到服务器的方式(使用BIDS Helper)。一个免费的插件。这个小小的插件引入了大量的功能到BIDS中,其中最为有价值的对于我们来说就是简化部署功能。

  1. 首先你需要配置部署属性,右击项目然后选择属性(Properties)。在配置属性中,选择部署(Deploy --BIDS Helper),选择你喜欢目标类型,然后配置路径,如图3所示。
  2. 现在你可以在解决方案浏览器中只是右击包然后选择“部署(Deploy)”来部署一个包了。

图 3

最大的优势就是无论多少个文件都能一次性部署:只需要右键你的项目,然后选择部署。所有的包都会被部署。

PS:

在VS的"解决方案"中,可以创建project level的Connection Manager和Parameters

在SQL Server2016和SSDT 2015发布后,可以在VS中右键单击包名,单独部署一个包(或者按ctrl选择多个包一起部署)。
在SSDT 2015中,可以用ISDeploymentWizard.exe (Microsoft SQL Server\120\DTS\Binn目录下)进行包部署和项目部署的选择

包的动态配置 (单个包的配置)---需要把项目从"项目部署模式"转换为"包部署模式"

SSIS包的动态配置:
  在运行时更新属性值来运行包,开发时设置的属性起调试作用
  比如使用配置,您可以更改连接管理器的连接字符串,或者更新变量的值
  配置可以使包更加灵活
  可以更轻松地将包从开发环境转移到生产环境中; 将包部署到多台不同的服务器时,配置非常有用

SSIS中5种不同的配置存储,顾名思义就是设置在包上,SSIS Menu---Package Configuration

  1) XML configuration file
  2) Environment variable
  3) Registry entry
  4) Parent package variable
  5) SQL Server

https://msdn.microsoft.com/zh-cn/library/cc895212.aspx

包的动态配置 (批量的包配置)

希望在包执行的时候可以随意选择参数,这时候我们可以用环境变量
  1) 以配置connection manager为例,右键--parameterize, 可以在第三个tab界面的parameters中看到
  2) 确保包执行成功,然后部署到SQL Server上的Integration Services Catalogs
  3) 创建环境变量,并在variables中设置环境变量。
      在projects下的Environments中,右键--"Create Environment"
    使用环境变量
      右键projects下已经发布的项目,“configure”--在parameters中,选用上一步创建的环境变量
     执行包并选择绑定的环境变量
      选中packages下的包,右键"Execute",勾选"环境变量"然后执行

SSIS的部署和配置的更多相关文章

  1. SSIS 项目部署模型

    微软 BI 系列随笔 - SSIS 2012 基础 - SSIS 项目部署模型 关于部署 SSIS 2012 支持两种部署模型:项目部署模型和包部署模型. 使用项目部署模型可以将项目部署到 Integ ...

  2. SSIS包部署

    1.ssis包部署可以生成部署文件,部署到sqlserver,再通过sqlserver计划作业来执行. 2.也可以通过shell来调用dtsx ,通过windows计划任务来定时调用exe. 不论是哪 ...

  3. Tigase XMPP Server在CentOS部署和配置

    Tigase XMPP Server在CentOS部署与配置 作者:chszs,转载需注明.博客主页:http://blog.csdn.net/chszs 以下讲述Tigase XMPP Server ...

  4. SSIS 包部署错误 0xC0010014

    SSIS 包部署错误 0xC0010014 Reinhard 在部署 SSIS 包时,提示如下错误. 由于错误 0xC0010014"发生了一个或多个错误.在此消息之前应有更为具体的错误消息 ...

  5. web缓存服务器varnish-4.1.6的部署及配置详解

    web缓存服务器varnish-4.1.6的部署及配置详解 1.安装varnish4.1.6安装依赖 yum install -y autoconf automake jemalloc-devel l ...

  6. 【转】mysql8.0 在window环境下的部署与配置

    [转]mysql8.0 在window环境下的部署与配置 今天在阿里云window服务器上配置mysql环境,踩了一些坑,分享出来.需要的朋友可以看看.额,或许有人要吐槽我为什么不在linux上去配置 ...

  7. Zookeeper集群部署与配置(三)

    在上一篇博客中我们讲解了<Zookeeper的单机配置>,此篇博客将继续介绍Zookeeper的集群部署与配置. 环境 集群配置的环境与单机配置的环境相同,唯一不同的就是集群是在多台服务器 ...

  8. (原创)OpenStack服务如何使用Keystone (二)---部署和配置Keystone中间件

    (一)Keystone端的操作 (二)如何在OpenStack服务上部署Keystone中间件 (三)详细配置keystonemiddleware 部署OpenStack时一般先安装Keystone服 ...

  9. Storm 系列(三)Storm 集群部署和配置

    Storm 系列(二)Storm 集群部署和配置 本章中主要介绍了 Storm 的部署过程以及相关的配置信息.通过本章内容,帮助读者从零开始搭建一个 Storm 集群. 一.Storm 的依赖组件 1 ...

随机推荐

  1. hdu:2030.汉字统计

    Problem Description 统计给定文本文件中汉字的个数.   Input 输入文件首先包含一个整数n,表示测试实例的个数,然后是n段文本.   Output 对于每一段文本,输出其中的汉 ...

  2. MySQL的可重复读级别能解决幻读吗

    引言 之前在深入了解数据库理论的时候,了解到事物的不同隔离级别可能存在的问题.为了更好的理解所以在MySQL数据库中测试复现这些问题.关于脏读和不可重复读在相应的隔离级别下都很容易的复现了.但是对于幻 ...

  3. 大数据技术之_19_Spark学习_01_Spark 基础解析 + Spark 概述 + Spark 集群安装 + 执行 Spark 程序

    第1章 Spark 概述1.1 什么是 Spark1.2 Spark 特点1.3 Spark 的用户和用途第2章 Spark 集群安装2.1 集群角色2.2 机器准备2.3 下载 Spark 安装包2 ...

  4. 编写基于Property-based的单元测试

    编写基于Property-based的单元测试 作为一个开发者,你可能认为你的职责就是编写代码从而完成需求.我不敢苟同,开发者的工作是通过软件来解决现实需求,编写代码只是软件开发的其中一个方面,编写可 ...

  5. linux rsync 实际应用

    linux rsync 实际应用 一.rsync的概述 rsync是类unix系统下的数据镜像备份工具,从软件的命名上就可以看出来了——remote sync.rsync是Linux系统下的文件同步和 ...

  6. 痞子衡嵌入式:通用NOR接口标准(CFI-JESD68)及SLC Parallel NOR简介

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是CFI标准及SLC Parallel NOR. NOR Flash是嵌入式世界里最常见的存储器,常常内嵌在微控制器里(Parallel型 ...

  7. winform中获取指定文件夹下的所有图片

    方法一: C#的IO自带了一个方法DirectoryInfo dir = new DirectoryInfo("文件夹名称");dir.getFiles();//这个方法返回值就是 ...

  8. 谈下WebSocket介绍,与Socket的区别

    这个话题应该是面试中出现频率比较高的吧....不管咋样还是有必要深入了解下两者之间的关联.废话不多说,直接入题吧: WebSocket介绍与原理 目的:即时通讯,替代轮询 网站上的即时通讯是很常见的, ...

  9. 解决java web中safari浏览器下载后文件中文乱码问题

    解决java web中safari浏览器下载后文件中文乱码问题 String fileName = "测试文件.doc"; String userAgent = request.g ...

  10. Java开发笔记(三十一)字符类型的表达

    前面介绍的Java编程,要么是与数字有关的计算,要么是与逻辑有关的推理,充其量只能实现计算器和状态机.若想让Java运用于更广阔的业务领域,就得使其支撑更加血肉丰满的业务场景,而丰满的前提是能够表达大 ...