使用工程部署模式(Project Deployment Model),对管理SSIS工程的部署,排除ETL运行过程中出现的异常等问题,很有帮助。开发人员把SSIS工程部署到“Integration Services Catalog”中之后,集成服务引擎把Package的配置数据,ETL执行的情况等都记录在SSISDB数据库中。数据库SSISDB包含两个内置的框架(schema)中:internal和catalog。internal 框架下的数据表、视图等对象是集成服务引擎内部使用的,catalog框架下的数据表,视图等对象是提供给用户使用的。在数据库SSISDB中,用户可以使用TSQL脚本调用和执行package,通过视图查看package的执行情况,根据package的历史消息对package进行故障排除,管理package执行的参数或环境变量等。

一,基本元素

用户可以查看架构catalog下的视图,来监控SSISDB的运行情况。SSISDB数据库的基本构成是:Folder、Project、Package、Parameter和环境(Environment):

  • [catalog].[folders]:用于查看在Integration Services Catalog->SSISDB目录下创建的文件夹(Folder);
  • [catalog].[projects] :用于查看存储在文件夹(Folder)下的SSIS 工程(Project);
  • [catalog].[packages] :用于查看位于SSIS Project下的Package;
  • [catalog].[object_parameters] :用于查看Package或Project的参数,字段object_type=20表示Project参数;字段object_type=30,表示Package参数;
  • [catalog].[execution_parameter_values] :用于查看Package或Project在执行时的参数值;用户在执行package之前,可以修改Package参数的默认值,在Package执行时的参数的值是参数的执行值。
  • [catalog].[environments]、[catalog].[environment_variables]和[catalog].[environment_references] :用于查看环境,环境中的变量,以及环境的引用,环境引用表示Project和Environment之间的映射关系;

在Package执行时,SSISDB会创建一个Operation,Execution,并统计每一个Package中的每一个可执行任务组件(Executable)的执行情况:

  •  [catalog].[operations] :用于查看操作信息,常见的操作类型是:部署工程(deploy_project),执行包(create_execution and start_execution),停止包(stop_operation),维护窗口(Retention window);
  • [catalog].[executions]:用于查看Package的执行情况;
  • [catalog].[executables]:用于查看Package中的可执行任务组件(Executable),Executable 是package的可执行组件,在控制流(Control Flow)选项卡中,是一个Task 或者 Container;
  • [catalog].[executable_statistics] :用于查看可执行任务组件的执行情况;

二,参数

SSISDB中的参数分为默认参数和执行参数,对象参数可以从视图[catalog].[object_parameters] 查看,该视图用于存储所有Package和Project的参数的信息。parameter_name表示参数名称,data_type表示参数的数据类型,必需属性(required)为1,表示在执行package时,该参数必须赋值,敏感属性(sensitive)为1,表示参数值是敏感的,SSIS会隐藏明文,显示为•••;value_set字段为1,表示参数被赋值,如果为0,表示参数未被赋值。

1,使用参数的对象

根据参数的作用域,可以把参数分为Package参数和Project参数,字段object_type=20表示Project级别的参数;字段object_type=30,表示Package级别的参数,

字段object_name是对象的名称,如果字段object_type=20表示Project名称;字段object_type=30,表示Package名称。

还有一种特殊的对象,它的object_type为50,配置相应的参数,能够改变Package在执行时的特殊行为。

2,参数值

参数有三类值: design_default_value,default_value, 和 execution_value,设置时的默认值(design_default_value)是指在VS中设计Package时为参数指定的值;默认值(default_value)是指Package部署到SSIS中为参数设置的默认值;如果没有修改参数的默认值,那么默认值就是设计时的默认值。执行时(execution_value)是指Package在运行时为参数设置的值。由于在执行package时,可以选择设置参数的Value,或选择使用默认值,所以执行值是Package在某一次执行(Execution)时所使用的值。

3,参数值的类型

字段 value_type 表示参数值的类型,如果value_type 为V,表示参数值就是default_value 或 execution_value字段的字面值,如果value_type 为R,表示参数的值是引用环境中的变量的值。

字段referenced_variable_name 是引用的环境的名称。

4,特殊参数的值

通过catalog.execution_parameter_values查看Package的执行参数,当object_type为50时,可以为package配置特殊的参数:

  • LOGGING_LEVEL
  • DUMP_ON_ERROR
  • DUMP_ON_EVENT
  • DUMP_EVENT_CODE
  • CALLER_INFO
  • SYNCHRONIZED

这些参数会影响Package运行的行为,例如 LOGGING_LEVEL会影响Package运行时,系统记录Package的日志级别。

三,配置SSIS维护代理(Agent)的属性

SSIS引擎使用Agent来维护SSISDB记录的数据,用户可以使用视图 [catalog].[catalog_properties] 查看代理的配置信息:

  • ENCRYPTION_ALGORITHM:加密算法的名称
  • MAX_PROJECT_VERSIONS:每个工程保持的最大版本数量
  • OPERATION_CLEANUP_ENABLED:周期性地删除旧版本
  • RETENTION_WINDOW:保持窗口
  • SCHEMA_BUILD:
  • SCHEMA_VERSION:
  • SERVER_CUSTOMIZED_LOGGING_LEVEL:
  • SERVER_LOGGING_LEVEL:服务器级别的日志级别
  • SERVER_OPERATION_ENCRYPTION_LEVEL:
  • VERSION_CLEANUP_ENABLED:启用版本清除功能

SSIS引擎会追踪对Package操作的历史记录和消息,包括Package的执行情况,工程的部署,以及执行的消息等,为了维护操作数据的size,SSIS创建了一个维护Job,叫做“SSIS Server Maintenance Job”,这个Agent Job在Integration Services安装时创建。SSIS通过该Job删除旧版本的Project,Package的操作记录和事件产生的消息。

四,部署版本的控制

在每次每次工程部署SSIS时,集成服务引擎都会记录工程的版本,用户可以通过SSISDB查看部署的版本,并可以根据需要切换到老的版本。用户可以通过“版本历史”查看部署的版本,或者查询视图catalog.object_versions 查看部署的历史版本。

1,通过Integration Services Catalogs来查看

打开SSISDB-》Projects,查看指定project的version history,这种方式查看Deployed Time 比较慢

2,当前版本

查询SSISDB的表projects,查看最后一次部署的时间

selectf.name as foler_name, --p.project_id,p.name as project_name,p.deployed_by_name,p.last_deployed_time
from catalog.projects p
inner join catalog.folders fon p.folder_id=f.folder_id

3,查看部署的历史版本

通过查看SSISDB的表catalog.object_versions,查看部署的历史版本

select f.name as foler_name, p.project_id,p.name as project_name,ov.created_by as deployed_by,ov.created_time as deployed_at
from catalog.object_versions ov
inner join catalog.projects p on ov.object_id=p.project_id
inner join catalog.folders f on p.folder_id=f.folder_id
where ov.object_type=20  --object type: 20 projectand p.project_id=8
order by deployed_at desc

参考文档:

SSIS Catalog

Views (Integration Services Catalog)

作者:悦光阴
出处:http://www.cnblogs.com/ljhdo/
本文版权归作者和博客园所有,欢迎转载,但未经作者同意,必须保留此段声明,且在文章页面醒目位置显示原文连接,否则保留追究法律责任的权利。

分类: SSISDB
标签: SSISDB
本文转自悦光阴博客园博客,原文链接:http://www.cnblogs.com/ljhdo/p/5160405.html,如需转载请自行联系原作者

SSISDB1:使用SSISDB管理Package相关推荐

  1. 解决Sublime包管理package control 报错 There are no packages available for installation

    解决Sublime包管理package control 报错 There are no packages available for installation 真的是哔了狗了,要不是我机智的重新安装了 ...

  2. Sublime Text3的插件管理Package Control安装

    https://jingyan.baidu.com/article/925f8cb8dedc12c0dce05674.html 转载于:https://www.cnblogs.com/maidongd ...

  3. unity3d package 管理

    unity2018之后使用了全新的package 管理工具.下图是全新package和以前的package的不同点(摘自https://blogs.unity3d.com/2018/05/09/uni ...

  4. SpringBoot面向切面编程-用AOP方式管理日志

    面向切面编程 认识AOP AOP(Aspect Oriented Program,面向切面编程)把业务功能分为核心.非核心两部分. 核心业务功能 非核心业务功能 用户登录,增加数据,删除数据 性能统计 ...

  5. redis插件连接集群 shiro_Shiro经过Redis管理会话实现集群(转载)

    写在前面 1.在上一篇帖子 Shiro一些补充 中提到过Shiro可以使用Shiro自己的Session或者自定义的Session来代替HttpSession 2.Redis/Jedis参考我写的 h ...

  6. Spring Boot笔记-404错误统一管理

    这里有一点要注意: spring boot错误的页面都会到error的请求中,所以可以用如下的方式统一管理 package com.xxxxx.apc.controller;import com.ap ...

  7. 基于 Lerna 管理 packages 的 Monorepo 项目最佳实践

    对于维护过多个package的同学来说,都会遇到一个选择题,这些package是放在一个仓库里维护还是放在多个仓库里单独维护,本文通过一个示例讲述了如何基于Lerna管理多个package,并和其它工 ...

  8. Linux不同发型版本(Debian REHL)与软件包管理器(RPM dpkg)的概念

    Linux的发行版本可以大体分为两类: Linux发行版 = Linux内核(类Unix内核) + Linux软件管理(package manager) 一类是商业公司维护的发行版本,以著名的Red ...

  9. 如何去管理正在运行的程序和服务

    首发地址:http://www.eoeandroid.com/thread-201709-1-1.html 看到几个不错的源码: 植物大战僵尸,又见植物大战僵尸!(分享) http://www.eoe ...

最新文章

  1. java 生成二维码 QRCode、zxing 两种方式
  2. (019)java后台开发之第三方库收集
  3. Linux 配置多个Tomcat
  4. 软考 - 法律法规 标准化
  5. 【数据库】navicat运行sql文件报错
  6. PHP中获取文件扩展名的N种方法
  7. Unfolder使用教程:如何插入,删除和更新对象
  8. python基础知识——函数(下)
  9. Silverlight制作scrollbar.
  10. Perl语言程序设计_输入与输出
  11. isis软件添加源代码c语言,ProteusISIS和Keil软件入门学习..doc
  12. A股管家股票自动交易软件系统,功能完善强大
  13. Openv 线性插值
  14. 电商项目实战--收货地址相关
  15. Javascript文件加载:LABjs和RequireJS
  16. 消费金融加速内卷,地推要求硕士起步…
  17. 为什么吃饭的时候不说话
  18. 实验一 基本逻辑门电路
  19. 计算机bootmgr丢失,如何修复BOOTMGR缺少错误
  20. 图文一键生成短视频工具

热门文章

  1. 更改VMware虚拟机硬件版本
  2. JavaScript模块化开发(一)基础知识
  3. Syntaxhighligher 使用中的一些问题
  4. sqlplus connect oracle
  5. 程序员面试金典——1.6像素翻转
  6. 由先序+后序遍历确定序列是否唯一并输出一个中序序列
  7. opencv和caffe编译后怎么添加路径
  8. tf.contrib.data.Dataset 读取数据的原理--buffer
  9. 为什么稀疏自编码器的正则项选用了相对熵(KL散度)的函数?
  10. 输出排列 递归、回溯法