SQL Server 2008新功能 捕获数据变化(1)

http://tech.ddvip.com   2008年04月14日    社区交流

内容摘要:能够监控表的变化,这是SQL Server 2008的一个新特征。我们可以通过SQL Server 2008的变化数据捕获功能轻松地监控表的变化。这一部分将阐述如何对一个数据库进行变化数据捕获,如何对一个表进行变化数据捕获,以及如何监控一个表的数据定义语言变化。

  执行结果

  object_id,column_name,column_id,column_type,column_ordinal,is_computed
  389576426,ID,1,int,1,0
  389576426,Name,2,varchar,2,0
  homesql2008(HOMEMAK):(2row(s)affected)
  object_id,version,source_object_id,capture_instance,start_lsn,end_lsn,supports_net_changes,has_drop_pending,
  role_name,index_name,filegroup_name,create_date
  389576426,0,53575229,dbo_MyTable,NULL,NULL,0,NULL,cdc_MyTable,MyTable_PK,NULL,2008-01-0719:05:49.733
  homesql2008(HOMEMAK):(1row(s)affected)
  object_id,column_name,index_ordinal,column_id
  389576426,ID,1,1
  homesql2008(HOMEMAK):(1row(s)affected)

  我们可以看到,如果一个表或者列被监控,则它的元数据信息将被保存在CDC(捕获数据变化)模式下。CDC模式也能够存储它所监控的索引信息。

  第四步

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

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

  执行结果

  is_cdc_enabled
  --------------
  1
  homesql2008(HOMEMAK):(1row(s)affected)

  第五步

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

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

  执行结果

  is_tracked_by_cdc
  -----------------
  1
  homesql2008(HOMEMAK):(1row(s)affected)

来源:IT专家网    作者:Jackie    责编:豆豆技术应用

正在加载评论...