SSISDB1:使用SSISDB管理Package
SSISDB 系列随笔汇总:
- SSISDB1:使用SSISDB管理Package
- SSISDB2:SSIS工程的操作实例
- SSISDB3:Package的执行实例
- SSISDB4:当前正在运行的Package及其Executable
- SSISDB5:使用TSQL脚本执行Package
- SSISDB6:参数和环境变量
使用工程部署模式(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,查看最后一次部署的时间
select
f.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 f
on 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 project
and p.project_id=8
order by deployed_at desc
参考文档:
Views (Integration Services Catalog)
SSISDB1:使用SSISDB管理Package的更多相关文章
- SSISDB1:使用SSISDB管理SSIS Projects
使用Project Deployment Model,将SSIS Project部署到Integration Services Catalog之后,SSISDB负责管理SSIS Project.在SS ...
- Lua如何管理”package”
Lua如何管理"package" 方式一: 私有方法和变量都需要显式定义为local类型的,这很容易造成错误.一旦不小心漏写,就又将方法定义为全局的了. "package ...
- 解决Sublime包管理package control 报错 There are no packages available for installation
解决Sublime包管理package control 报错 There are no packages available for installation 真的是哔了狗了,要不是我机智的重新安装了 ...
- 永久解决Sublime包管理package control 打开install package报错 There are no packages available for installation
很多用户在使用sumblime安装插件的时候,打开package control的install package会出现报错:There are no packages available for in ...
- SSISDB8:查看SSISDB记录Package执行的消息
在执行Package时,SSISDB都会创建唯一的OperationID 和 ExecutionID,标识对package执行的操作和执行实例(Execution Instance),并记录opera ...
- Sublime Text 3 安装插件管理 Package Control
自动安装: 1.通过快捷键 ctrl+` 或者 View > Show Console 菜单打开控制台 2.粘贴对应版本的代码后回车安装 适用于 Sublime Text 3: import ...
- SSISDB8:使用SSISDB记录的消息Troubleshoot packages
在执行Package时,SSISDB都会创建唯一的OperationID 和 ExecutionID,标识对package执行的操作和执行实例(Execution Instance),并记录opera ...
- SSISDB7:查看当前正在运行的Package
在项目组中做ETL开发时,经常会被问到:“现在ETL跑到哪一个Package了?” 为了缩短ETL运行的时间,在ETL的设计上,经常会使用并发执行模式:Task 并发执行,Package并发执行.对于 ...
- SSISDB2:使用TSQL执行Package
在SSISDB中,能够使用TSQL脚本执行Package:每执行一次Package,SSIS都会创建一个Operation 和一个执行实例(Execution Instance),每个Executio ...
随机推荐
- 工具-github在linux下面没有git push报错
time: 2015/12/25 1. 描述: error: The requested URL returned error: 403 Forbidden while accessing https ...
- C 转义字符说明
%a(%A) 浮点数.十六进制数字和p-(P-)记数法(C99)%c 字符%d 有符号十进制整数%f 浮点数(包括float和doulbe)%e(%E) 浮点数指数输出[e-(E-)记数法]%g(%G ...
- 为了让开发者写MaxCompute SQL更爽,DataWorks 增强SQL 编辑器功能
众所周知,数据开发和分析的同学每天都要花大量时间写MaxCompute SQL:Dataworks作为数据开发的IDE直接影响着大家的开发效率,这次新上线的Dataworks我们在编辑体验上做了很多工 ...
- 谈谈 C++ 中的右值引用
转自:https://liam0205.me/2016/12/11/rvalue-reference-in-Cpp/ 最近在改 XGBoost 的代码.XGBoost 在代码中使用了很多来自 C++1 ...
- MySQL知识总结(三)存储过程
1. 创建存储过程 1.1 无参数存储过程 CREATE PROCEDURE bruce_procedure () BEGIN --1.声明变量 --2.执行业务逻辑 END 1.2 有参数的存储过程 ...
- 虚拟内存(VirtualAlloc),堆(HeapAlloc/malloc/new)和Memory Mapped File
http://blog.csdn.net/zj510/article/details/39400087 内存管理有三种方式: 1. 虚拟内存,VirtualAlloc之类的函数 2. 堆,Heapxx ...
- 超链接<a>标签用法
1.a标签点击事件 1>1a href="javascript:js_method();" 这是我们平台上常用的方法,但是这种方法在传递this等参数的时候很容易出问题,而且 ...
- 1103. [POI2007]MEG-Megalopolis【树链剖分】
Description 在经济全球化浪潮的影响下,习惯于漫步在清晨的乡间小路的邮递员Blue Mary也开始骑着摩托车传递邮件了. 不过,她经常回忆起以前在乡间漫步的情景.昔日,乡下有依次编号为1.. ...
- P2619 [国家集训队2]Tree I
Description 给你一个无向带权连通图,每条边是黑色或白色.让你求一棵最小权的恰好有need条白色边的生成树. 题目保证有解. Input 第一行V,E,need分别表示点数,边数和需要的白色 ...
- 在linux中禁用一块硬盘
笔记本采用固态加机械的硬盘组合使用中完全用不到机械部分 但它总是在启动后运行并发出响声 1 启动后的禁用 无需重启 (sdx是你的磁盘 udev的更新可能会导致磁盘重新出现 在向系统添加/删除磁盘也 ...