参考:
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. 如何优雅的利用Windows服务来部署ASP.NET Core程序

    上一篇文章中我给大家讲述了五种部署ASP.NET Core网站的方法,其中有一种方式是通过Windows服务来进行部署,这样既可以做到开启自启动,又不会因为iis的反向代理而损失部分性能.但是美中不足 ...

  2. 查询运营商的ip段

    查询运营商的ip段 所有的IP地址都是通过国际组织NIC(Network Information Center)统一分配的,目前世界上有三个这样的网络信息中心: InterNic: 负责美国及其他地区 ...

  3. 死磕 java集合之TreeMap源码分析(一)- 内含红黑树分析全过程

    欢迎关注我的公众号"彤哥读源码",查看更多源码系列文章, 与彤哥一起畅游源码的海洋. 简介 TreeMap使用红黑树存储元素,可以保证元素按key值的大小进行遍历. 继承体系 Tr ...

  4. bind(),unbind(),hover(),toggle(),animate()

    First.bind() bind(Type,fn) type:click/mouseover/mouseout fn:functionsecond.unbind() unbind(Type,fn) ...

  5. C++中的to_string()函数[C++11支持]

    C++ -> 字符串库 -> std::basic_string 定义于头文件 std::string to_string(int value); (1) (C++11起) std::st ...

  6. 【烂笔头】adb命令篇

    1.一个自动安装SystemUI.apk的脚本文件push-SystemUI.bat: adb rootadb remountadb push ./SystemUI.apk system/priv-a ...

  7. log4j2.yml配置文件

    # https://blog.csdn.net/u010598111/article/details/80556437 # 共有8个级别,按照从低到高为:ALL < TRACE < DEB ...

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

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

  9. XML就是这么简单

    什么是XML? XML:extensiable markup language 被称作可扩展标记语言 XML简单的历史介绍: gml->sgml->html->xml gml(通用标 ...

  10. linux中文件的三种time(atime,mtime,ctime)

    linux下文件有3个时间的,分别是atime,mtime,ctime.有些博友对这3个时间还是比较迷茫和困惑的,我整理了下,写下来希望对博友们有所帮助. 1 这三个time的含义 简名 全名 中文名 ...