参考:
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. ThinkPHP 数据库操作(五) : 存储过程、数据集、分布式数据库

    存储过程 5.0支持存储过程,如果我们定义了一个数据库存储过程 sp_query ,可以使用下面的方式调用: $result = Db::query('call sp_query(8)'); 返回的是 ...

  2. C# for Python(Nugut Iron包)

    cInronPython是一种在.NET和Mono上实现的Python语言,使用InronPython就可以在.NET环境中调用Python代码 安装InronPython Python: port ...

  3. Python进阶:切片的误区与高级用法

    2018-12-31 更新声明:切片系列文章本是分三篇写成,现已合并成一篇.合并后,修正了一些严重的错误(如自定义序列切片的部分),还对行文结构与章节衔接做了大量改动.原系列的单篇就不删除了,毕竟也是 ...

  4. Kafka性能测试实例

    1.概述 在分布式实时数据流场景下,随着数据量的增长,对Kafka集群的性能和稳定性的要求也很高.本篇博客将从生产者和消费者两方面来做性能测试,针对具体的业务和数据量,来调优Kafka集群. 2.内容 ...

  5. RabbitMQ消息队列(十四)-启用SSL安全通讯

    如果RabbitMQ服务在内网中,只有内网的应用连接,我们认为这些连接都是安全的,但是个别情况我们需要让RabbitMQ对外提供服务.这种情况有两种解决方案: 在RabbitMQ外层在封装一层应用,应 ...

  6. leetcode — candy

    /** * Source : https://oj.leetcode.com/problems/candy/ * * There are N children standing in a line. ...

  7. Storm环境搭建(分布式集群)

    作为流计算的开篇,笔者首先给出storm的安装和部署,storm的第二篇,笔者将详细的介绍storm的工作原理.下边直接上干货,跟笔者的步伐一块儿安装storm. 原文链接:Storm环境搭建(分布式 ...

  8. Redis数据类型使用场景及有序集合SortedSet底层实现详解

    Redis常用数据类型有字符串String.字典dict.列表List.集合Set.有序集合SortedSet,本文将简单介绍各数据类型及其使用场景,并重点剖析有序集合SortedSet的实现. Li ...

  9. DSAPI多功能组件编程应用-参考-Win32API常数

    DSAPI多功能组件编程应用-参考-Win32API常数 在编程过程中,常常需要使用Win32API来实现一些特定功能,而Win32API又往往需要使用一些API常数,百度搜索常数值,查手册,也就成了 ...

  10. VBA中使用正则的两种方式

    第一种方式(需要引用VBScript RegularExpression 5.5类库) Option Explicit Sub RegularExpresstion()'方法块 Dim regex A ...