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

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

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

  select * from cdc.captured_columns
  select * from cdc.change_tables
  select * from cdc.ddl_history
  select * from cdc.index_columns
  select * from cdc.lsn_time_mapping

  执行结果

  home\sql2008(HOME\MAK): (0 row(s) affected)
  home\sql2008(HOME\MAK): (0 row(s) affected)
  home\sql2008(HOME\MAK): (0 row(s) affected)
  home\sql2008(HOME\MAK): (0 row(s) affected)
  home\sql2008(HOME\MAK): (0 row(s) affected)

Fig 1.4

  第三步

  为了监控表的变化,还需要在表上开启变化数据捕获功能。我们可以通过如下语句来开启它。(参见图Fig 1.5)

USE [MyDataBase]
GO
EXEC sys.sp_cdc_enable_table_change_data_capture
@source_schema = 'dbo',
@source_name = 'MyTable',
@role_name = 'cdc_MyTable'
GO

  执行结果

  home\sql2008(HOME\MAK):
  Job 'cdc.MyDataBase_capture' started successfully.
  home\sql2008(HOME\MAK):
  Job 'cdc.MyDataBase_cleanup' started successfully.

Fig 1.5

  通过阅读以上结果,我们很容易知道在捕获和清空时SQL Server代理是必须的。在SQL Server的调度任务中,我们可以看到这些任务实际上被创建了。(参见图Fig 1.6, 1.7)

Fig 1.6

Fig 1.7
  
  现在,我们来执行如下语句,看看这些数据是否能够插入CDC表中。

  select * from cdc.captured_columns
  select * from cdc.change_tables
  select * from cdc.index_columns

  执行结果

  object_id, column_name, column_id, column_type, column_ordinal, is_computed
  389576426, ID, 1, int, 1, 0
  389576426, Name, 2, varchar, 2, 0
  home\sql2008(HOME\MAK): (2 row(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-07 19:05:49.733
  home\sql2008(HOME\MAK): (1 row(s) affected)
  object_id, column_name, index_ordinal, column_id
  389576426, ID, 1, 1
  home\sql2008(HOME\MAK): (1 row(s) affected)

  我们可以看到,如果一个表或者列被监控,则它的元数据信息将被保存在CDC(捕获数

9 7 3 1 2 3 4 8 :

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

论坛美图

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

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