网站大量收购闲置独家精品文档,联系QQ:2885784924

SQLSERVERCDC增量数据抽取..doc

  1. 1、本文档共20页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SQLSERVERCDC增量数据抽取.

SQL SERVER CDC 增量数据抽取. 版本历史 日期 版本 描述 作者 26/04/2010 1.0 SQL SERVER CDC 增量数据抽取方案拟制 刘建军, 目录 1、概述 4 1.1、需求概述 4 1.2、场景分析 4 2、依赖关系 5 3、服务方案 5 3.1 设计的目标 5 3.2 相关关键技术说明 5 3.3、报表服务方案 11 3.4 报表服务表结构 13 3.5 报表服务过程及其描述 14 3.6 报表服务使用 14 1、概述 1.1、需求概述 本文档的主要目的是提出和测试报表服务实现,来提高Q3系统的报表统计性能。 该服务方案主要参考ERP报表服务方案,并结合Q3系统与SQLServer2008数据库的特点来实现,并尽量统一规划以提高该方案的兼容性。 1.2、场景分析 报表服务需要将要进行统计、分析的数据库某一业务相关数据在一段时间内的变化(增量数据),同步到报表服务中间库,并将统计结果报表同步更新,这就需要: 报表中间库转储和引用业务库对象。 同一数据库实例上不同数据库或分布式数据库的变更数据捕捉 获得数据增量、并根据增量形成增量报表数据同步报表中间库。 或直接同步报表中间库。 业务执行的唯一性。 抽取日志的记录的记录。 增量数据日志记录清除。 同步异常记录。 2、依赖关系 Q3系统采用SQLServer2008数据库,并且该版本数据库提供了CDC(change data capture)捕获变更数据的方法,并且提供了同义词和数据库级应用锁功能,结合排序函数,为在数据库级别上实现与ERP类似的报表服务提供了可能。 3、服务方案 3.1 设计的目标 Q3的报表服务方案,要满足如下功能性和非功能性要求。 业务数据增量抽取。 增量数据合并(算法最优)。 增量抽取数据的准确性和有效性。 数据抽取执行线程并发控制唯一性和入口统一性(采用数据库级应用锁并需要进行封装,提供与ERP一致的入口)。 跨数据库或分布式数据库的抽取实现(链接服务器)。 数据同步路径最短、同步效率最高(根据业务数据量和业务的复杂性分别采用不同的数据同步方式)。 3.2 相关关键技术说明 CDC (change data capture): ??? CDC为数据仓库常用技术手段,是当对数据库执行insert、update、delete操作的时候,捕获变更数据的方法。 CDC的原理是每次对源表(Source Tables)执行增删改操作时,数据库事务日志会记录该DML操作造成的变更数据,然后捕获处理过程将日志中源表的变更数据写入变更捕获表(Change Tables). 使用步骤: 通过SQL Server 配置管理器(SQL Server Management Studio、服务),启用数据库的SQL Server Agent代理服务。 执行存储过程,启用了数据库的CDC特性。 EXEC sys.sp_cdc_enable_db 执行存储过程,对数据库中某一表启用CDC特性。 EXEC sys.sp_cdc_enable_table @source_schema = Ndbo , @source_name = Ntest , @role_name = Ncdc_admin , @capture_instance = Ntest_cdc1 , @supports_net_changes = 1 , @index_name = NPK_test , @captured_column_list = Ncol1,col2,col3 , @filegroup_name = NPRIMARY; 系统自动在系统表下建立对应变更捕获表,变更捕获表的命名规则是cdc.+实例名+CT. 其中其中__$operation代表的是执行的是何种DML,1=delete,2=insert,3=update(更新前),4=update(更新后) 系统建立了其他多个关于CDC函数和过程,其中涉及报表相关过程与函数: sys.fn_cdc_get_max_lsn 返回 cdc.lsn_time_mapping 系统表中 start_lsn 列中的最大日志序列号 (LSN)。您可以使用此函数为任何捕获实例返回变更数据捕获时间线的高端点。 sys.sp_cdc_cleanup_change_table 清除变更数据存储过程 手动清理:使用sys.sp_cdc_cleanup_change_table存储过程清除变更数据。 自动清理:在启用数据库CDC时,系统自动在SQL Server Agen

您可能关注的文档

文档评论(0)

gangshou + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档