SQL Server 2008跟踪企业数据库中的更改

发表于:2010-12-20 09:52

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:未知    来源:51Testing软件测试网采编

  图 1 说明了不同时间段获取的更改数据。更改数据捕获机制会将更改的数据提取到一组表,最新的更改在表的最上方。然后,ETL 过程对存储更改数据的表查询在固定时段内发生的所有更改。这套机制允许 ETL 过程限制每批必须获取的数据量。

图 1 不同时间段获取的历史更改数据

  另一方面,更改跟踪则是采用同步机制,只能跟踪表中已更改的特定数据行(或者经过更改的数据列)。这是为了解决我先前介绍的偶尔连接的系统方案所遇到的问题而设计的。图 2 说明了这种方法。

图 2 使用更改跟踪数据的偶尔连接的系统

  这两种功能都会增加 I/O 和记录,自定义解决方案也一样 — 更改数据必须存储在某个位置。这两种功能与自定义解决方案可能的区别在于,用于存储更改数据的表必须与要跟踪的表位于相同的数据库中。这表示所有更改数据都将包含在备份中,而可能通过日志传送或数据库镜像在网络上传输。

  就程序开发而言,这两种功能应该可以明显降低跟踪更改的复杂性。因为无论是哪一种技术,都不需要表架构更改或触发器。两种技术都具有可配置的自动清除过程,可依据事务提交时间对更改排序,并且提供内置函数来检索更改信息。

  从管理的角度来看,每种方法各有其优缺点。与任何技术一样,在开发和部署使用这些功能的解决方案之前,您必须掌握很多信息。在本文的其余部分,我将简要介绍这些功能,稍微讨论一下其工作原理,以及在用于生产之前需要考虑的重点。

52/5<12345>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号