参考:
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. JavaScript 正则表达式全面总结

    本文适合有 JavaScript 基础 && 面向搜索引擎书写正则的人群. 正则表达式是用于匹配字符串中字符组合的模式.正则表达式的模式规则是由一个字符序列组成的.包括所有字母和数字在 ...

  2. java多线程(4)---volatile关键字

    volatile关键字 一旦一个共享变量(类的成员变量.类的静态成员变量)被volatile修饰之后,那么就具备了两层语义: 1)保证了不同线程对这个变量进行操作时的可见性,即一个线程修改了某个变量的 ...

  3. redis 系列16 持久化 RDB

    一.概述 Redis是内存数据库,一旦服务器进程退出,服务器中的数据库内存数据状态也会消失.为了解决这个问题,Redis提供了RDB 持久化功能,这个功能可以将redis在内存中的数据库状态保存到磁盘 ...

  4. leetcode — largest-rectangle-in-histogram

    import java.util.Stack; /** * * Source : https://oj.leetcode.com/problems/largest-rectangle-in-histo ...

  5. Nlog、Log4Net 的一个小扩展(增加自定义LEVEL)

    因公司ELK监控分析日志的需要,需要区分进程运行状态日志以及错误日志,以便能够根据日志级别(level)进行不同策略的预警,而现有的Nlog.Log4Net都没有Process这样的level,故针对 ...

  6. [JavaScript] canvas 合成图片和文字

    Canvas Canvas 是 HTML5 新增的组件,就像一个画板,用 js 这杆笔,在上面乱涂乱画 创建一个 canvas <canvas id="stockGraph" ...

  7. 折腾Java设计模式之策略模式

    博客原文地址 简介 在策略模式(Strategy Pattern)中,一个类的行为或其算法可以在运行时更改.这种类型的设计模式属于行为型模式.简单理解就是一组算法,可以互换,再简单点策略就是封装算法. ...

  8. Spring(一)JdbcTemplate的环境搭建

    1.建立一个项目,导入jar包(ioc aop dao 连接池 数据库驱动包)拷贝Spring容器对应的配置文件到src下 2.在配置文件中引入外部属性文件 3.配置数据源 4.配置JdbcTempl ...

  9. 流程控制之 if 判断

    语法一:if 条件: 代码1 代码2 代码3 gender='female'age=18is_beautiful=True if gender == 'female' and age > 16 ...

  10. 安装完成Dynamics 365 CE后别忘了更改维护作业的运行时间

    摘要: 微软动态CRM专家罗勇 ,回复309或者20190308可方便获取本文,同时可以在第一间得到我发布的最新博文信息,follow me!我的网站是 www.luoyong.me . 安装完毕Dy ...