微软 BI 系列随笔 - SSIS 2012 基础 - SSIS 目录


上一篇讲解了使用SSIS参数与环境,由于涉及到了SSIS目录的相关知识和概念,本篇将对其进行讲解。

注:在之前的版本中,是使用整合服务服务器下面的运行程序包(Running Packages)文件夹和存储程序包(Stored Packages)文件夹两个节点来管理程序包。

关于SSIS目录

“SSISDB”目录(Integration Services Catalog)是SQL Server 2012新引入的一个功能。它是管理已部署到 Integration Services 服务器的 Integration Services (SSIS) 项目的中心点。 在目录中,可以设置项目和包参数,配置环境以便为包指定运行时值,执行包并对包进行故障排除,以及管理 Integration Services 服务器操作。

SSIS目录结构

完整安装的SSISDB目录结构如下:

图中 1 是SSISDB数据库,他是SSISDB目录的基础。2 是SSISDB目录的文件结构,他是可视化管理目录。

下面分别对SSISDB目录中看到的各层解释,以及找到他在SSISDB数据库中对于的实体。

  • SSISDB -- 对应的是整个SSISDB数据库。
  • 文件夹(图中EDCSSISProcessing)

   文件夹是项目和环境的储存仓库,在部署时通常为每个项目(或一个解决方案)指定一个单独的文件夹。

   文件夹对应的是[internal].[folders]表,与之相关的权限在[internal].[folder_permissions]表。

  • 项目

   项目即是在SSDT(或Visual Studio)中创建的项目。项目是存在与项目的文件夹(Projects)中。在项目的父文件夹,可以实现项目的部署和导入包。

    • 部署项目是通过Integration Services Deployment Wizard来实现项目部署,参见SSIS 项目部署模型
    • 导入包是指通过Integration Services Project Converion Wizard来实现包的部署,这个之后会写一篇文章下讲解。
    • 在项目上可以实现配置,验证,移动,管理版本,导出ispac部署文件以及设置项目权限。
    • 可以通过选择历史版本,来控制选择包的设计内容,实现无缝的切换(灰常有用)
    • 项目对应的是[internal].[projects]表,与之相关的权限在[internal].[project_permissions],版本在[internal].[object_versions]表。

       

  • 环境

   环境是SSIS2012中新引入的用于配置包在各个环境的运行时值的容器。在环境文件夹可以添加环境,在环境属性中可以添加环境变量。

   环境对应的是[internal].[environments]表,其权限配置在[internal].[environment_references]。

   包是SSIS开发的实际可执行文件。包级别支持配置,执行和验证。

   包对应的是[internal].[packages]表,这个表包含了所有的部署过的包已经对应的版本信息。

  • 参数

   参数是定义在项目级别和包级别的参数,选择项目或者包的配置,可以设置参数的值。

   参数对应的是[internal].[object_parameters]表,这个表还包括了连接管理器的参数信息,他的每条记录也是基于不同的版本来的。

  • 环境变量

   环境变量是配置在每个环境里面的运行时变量。它存在于[internal].[environment_variables]表中。

以上列出了常用的管理单元,还有一些在SSISDB目录中没有列出来但是在SSISDB中存在的表也解释一下

  • SSISDB其他表

    • [internal].[executables] -- 记录每个版本的包里面的可执行任务
    • [internal].[operations] -- 该表记录了SSIS包的操作记录
    • [internal].[operation_permissions] --记录的每个操作记录的权限
    • [internal].[operation_os_sys_info] --记录每个操作的系统资源使用
    • [internal].[operation_messages] --记录每个操作的运行时状态,具体到包里面的各个任务的执行情况
    • [internal].[executions] --记录每个SSIS包的执行信息
    • [internal].[execution_parameter_values] --记录执行时各个参数的值
    • [internal].[executable_statistics] -- 记录每个包里面可执行任务的执行状态
    • [internal].[event_messages] -- 记录每个可执行任务的消息代码
    • [internal].[event_message_context] -- 记录每个可执行消息的上下文属性
    • [internal].[catalog_encryption_keys] -- 记录创建SSISDB时使用的密码和加密的Key值。

总结

本文介绍了SSISDB目录的结构和对应的数据库实体表,可以看出SSIS的整个架构设计。他的这个架构设计堪称完美的将开发,部署与管理紧密的结合在一起。细细看他的每一个细节,从项目到包,到可执行文件,到参数配置,版本控制,运行时日志,执行日志,消息追踪和持久化,在我们平时设计系统时是不是也可以借用一下呢?留给有兴趣的同学思考吧。

SSIS 目录的更多相关文章

  1. SSIS 参数与环境

    微软 BI 系列随笔 - SSIS 基础 - 参数与环境 简介 在上一篇博客中,主要讲述了如何实现SSIS的项目部署,参见 微软 BI 系列随笔 - SSIS 2012 基础 - SSIS 项目部署模 ...

  2. 部署SSIS包完成远程数据更新

    ** 温馨提示:如需转载本文,请注明内容出处.** 本文连接:http://www.cnblogs.com/grom/p/9018978.html 笔者需要定期从服务器更新N家客户的远程服务器数据,上 ...

  3. SSIS - 11.For循环容器

    一.For循环容器中的3个循环变量 For循环容器,类似于编程语言中的For,用于重复执行容器内的任务,直到条件返回为False.与编程语言类似,For循环容器也需要定义以下3种循环属性: 注: 必须 ...

  4. SSIS服务无法登录的解决方案

    现象1:登录SSIS报权限认证失败. 授予对 Integration Services 服务的访问权限 运行 Dcomcnfg.exe. Dcomcnfg.exe 提供用于修改注册表中的某些设置的用户 ...

  5. Sql Server 部署SSIS包完成远程数据传输

    本篇介绍如何使用SSIS和作业完成自动更新目标数据任务. ** 温馨提示:如需转载本文,请注明内容出处.** 本文链接:https://www.cnblogs.com/grom/p/9018978.h ...

  6. SSIS实践入门3:把SSIS程序包从A电脑到B电脑的转移

    接触SSIS已经有几天了,之前一直是在A电脑做一些demo和修改一些之前的SSIS程序.这次在包中拖入了一个脚本任务,但是在A电脑打开编辑一直打不开,如下图所示 在B电脑就可以打开SSIS脚本编辑器 ...

  7. SQL Server 2016 CTP2.3 的关键特性

    SQL Server 2016 CTP2.3 的关键特性 数据库方面的增强 Row Level Security已经支持In-memory OLTP 表.用户现在可以对内存优化表实施row-level ...

  8. SSIS DB目录设置 (Integration Services Catalogs)

    1.创建SSISDB目录 这里没什么好说的,点击Enable CLR Integration ,然后设置一个加密密码 2. SSIS Catalog设置 Retention Period (days) ...

  9. 微软BI 之SSIS 系列 - 在 SSIS 中将指定目录下的所有文件分类输出到不同文件夹

    开篇介绍 比如有这样的一个需求,旧的一个业务系统通常将产出的文件输出到同一个指定的目录下的不同子目录,输出的文件类型有 XML,EXCEL, TXT 这些不同后缀的文件.现在需要在 SSIS 中将它们 ...

随机推荐

  1. [转]去除inline-block元素间间距的N种方法

    来自张鑫旭-鑫空间-鑫生活[http://www.zhangxinxu.com] 一.现象描述 真正意义上的inline-block水平呈现的元素间,换行显示或空格分隔的情况下会有间距,很简单的个例子 ...

  2. preload pic

    http://www.farinspace.com/jquery-image-preload-plugin/

  3. 学习笔记Jmail收发邮件

    一.利用Jmail发送邮件  1/// <summary> 2/// 利用Jmail发送邮件 3/// </summary> 4private void SendMailByJ ...

  4. codeforces 725D . Contest Balloons(贪心+优先队列)

    题目链接:codeforces 725D . Contest Balloons 先按气球数从大到小排序求出初始名次,并把名次排在第一队前面的队放入优先队列,按w-t-1值从小到大优先,然后依次给气球给 ...

  5. CentOS7下ifconfig command not found

    执行命令 yum install net-tools

  6. Frame练习-打开图片

    import java.awt.EventQueue; import java.awt.event.*; import java.io.*; import javax.swing.*; public ...

  7. android属性之excludeFromRecents -- clearTaskOnLaunch 隐身意图 启动activity

    这个可以  用android 任务中app 隐藏起来 android属性之clearTaskOnLaunch 此属性是 每次启动app时都会进入 根目录中      android:clearTask ...

  8. VC只运行一个程序实例

    方法有很多,以下只是提供一种用的多的 一. 单文档程序 在程序App类的InitInstance中添加如下代码 BOOL CDDZApp::InitInstance() { /*只运行一个实例*/ / ...

  9. OC中intValue要注意的地方

    在程序中,发现一个问题,写了个例子,如下:         NSDictionary * dict = [[NSDictionary alloc] init];        NSString * s ...

  10. android基础(四)service

    Service的两种启动方式:startService()与bindService()   statService:生命周期:[onCreate()-  >onStartCommand()-&g ...