技术开发 频道

SQL Server 2005的集成服务和报表服务



【IT168 技术文档】与控制流不同,数据流对象主要描述的是数据在点与点之间的转换。这里转换的都是数据,每个点都是一个逻辑的数据点(内存中逻辑的或者是介质上物理的)。SQL Server 2005中支持大量的数据源类型,同时借助.Net的扩展机制完全可以采用类似扩展ADO.Net Data Provider类似的办法扩展数据源。数据流的逻辑示意结构如下:

图4:数据流的逻辑示意结构

    这里笔者建议主要集中在SQL Server平台上开发的朋友,可以现在就开始利用面向对象的继承特性,结合微软提供的Enterprise Library或者是一些Application Block开发通用的企业集成服务包摸版,通过继承和多态在未来的开发中快速建立应用。

    同样是由于SQL Server 2005集成了CLR,而且SSIS已经用.Net重写了整个集成服务,因此通过集成服务的对象模型,开发人员可以从各个侧面对其进行扩展,主要包括:

    (1)Task
(2) Connection Manager
(3) Log Provider
 (4)Enumerator
 (5)Data Flow Component
 (6)Event Handling

    更加丰富的事务控制能力

    对于商业逻辑而言,事务性始终是必不可少的内容,与以往DTS上简单的事务不同,SQL Server 2005的集成服务可以在包(Package)、容器(Container)、任务(Task)三个层次配置操作过程的事务性,不过与COM+中DTC事务选项不同的是集成服务中缺少了RequireNew类型的事务关联选项,仅仅提供Required、Supported和NotSupported三个交易关联选项。

 Required:代表若父容器已经启动了一个事务,那么当前单元就把自己加入(Enlist)进去,否则就重新发起一个事务。
 Supported:则持无所谓的态度,如果父容器有了,就把自己Enlist进去,否则也不会主动发起一个事务。
 NotSupported:则是持反叛的态度,不管父容器是否有事务,反正他自己的内容就是不在事务控制下完成。

    对于事务执行情况的监控可以采用WMI或者SQL Server 2005集成服务的Log Provider机制完成。不过笔者因为以往一直在用COM+开发,因此更习惯于用Component Service的DTC浏览器察或者是Performance Monitor查看DTC的执行情况。

图5:用COM+的DTC浏览器察看分布式事务执行情况

图6:用Performance Monitor察看分布式事务执行情况

0
相关文章