首页 > 新闻系统 > 编程天地 > 文章正文

SQL Server2008新功能 捕获数据变化1

2008-02-29 11:15:17 来源:IT专家网 作者:Jackie 点击:
能够监控表的变化,这是SQL Server 2008的一个新特征。我们可以通过SQL Server 2008的变化数据捕获功能轻松地监控表的变化。这一部分将阐述如何对一个数据库进行变化数据捕获,如何对一个表进行变化数据捕获,以及如何监控一个表的数据定义语言变化。

据变化)模式下。CDC模式也能够存储它所监控的索引信息。

  第四步

  通过如下的T-SQL语句,我们可以看到数据库上的捕获数据变化功能是否已经启动。

  SELECT is_cdc_enabled FROM sys.databases WHERE name = 'MyDataBase'

  执行结果

  is_cdc_enabled
  --------------
  1
  home\sql2008(HOME\MAK): (1 row(s) affected)

  第五步

  使用如下的T-SQL语句,我们可以看到某个表上的捕获数据变化功能是否已经启动。

  SELECT is_tracked_by_cdc FROM sys.tables WHERE name = 'MyTable'

  执行结果
  
  
  is_tracked_by_cdc
  -----------------
  1
  home\sql2008(HOME\MAK): (1 row(s) affected)

  第六步

  接下来,我们改变一下表的结构,看看捕获数据变化功能是否能够捕捉到这些变化。执行如下的SQL语句,如图Fig 1.8所示

  USE [MyDataBase]
  GO
  Alter Table MyTable add Address varchar(500)
  GO
  Alter Table MyTable add Salary money
  GO
  Alter Table MyTable add Bonus money
  GO

Fig 1.8

  查询CDC模式下的表ddl_history,如图Fig 1.9所示

  select * from cdc.ddl_history

  执行结果

  source_object_id, object_id, required_column_update, ddl_command, ddl_lsn, ddl_time
  53575229, 389576426, 0, Alter Table MyTable add Address varchar(500)
  , 0x0000001C000001350001, 2008-01-07 19:23:00.000
  53575229, 389576426, 0, Alter Table MyTable add Salary money
  , 0x0000001C000001370018, 2008-01-07 19:23:00.000
  53575229, 389576426, 0, Alter Table MyTable add Bonus money
  , 0x0000001C0000013D0018, 2008-01-07 19:23:00.000
  home\sql2008(HOME\MAK): (3 row(s) affected)

  

Fig 1.9

  注:本文章基于SQL Server 2008 11月CTP。

  结论

  文章说明了如何在数据库中启动SQL Server这项新功能--捕捉数据变化,同时也讲解了如何对数据表启用这项功能,并监控表上数据定义语言的变化,并解释了CDC模式以及该模式下各对象实现的功能。

9 7 3 1 2 3 4 8 :

精彩推荐
焦点大图推荐
本类热门文章

论坛美图

广告联系 | 版权说明 | 意见建议 | 加入收藏 | 军网站群 [ 军软件园 - 军软件商城 - 军软件园论坛 ]

电信与信息服务业务经营许可证:京ICP证050203