WEB开发网
开发学院数据库MSSQL Server SQL Server 2008新功能 捕获数据变化(3) 阅读

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

 2008-04-14 09:54:17 来源:WEB开发网   
核心提示: 图Fig 1.0use[CDCDB]goSelectcase__$operationwhen1then'Deleting'when2then'Inserting'when3then'ValuebeforeUpdate'when4then

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

图Fig 1.0

  use[CDCDB]
  go
  Selectcase__$operationwhen1then'Deleting'
  when2then'Inserting'
  when3then'ValuebeforeUpdate'
  when4then'ValueafterUpdate'
  when5then'Merge'end,__$update_mask,ID,Name
  fromcdc.dbo_Employee_CT
  go

执行结果

  ,__$update_mask,ID,Name
  Inserting,0x03,1,DancingDoll
  Inserting,0x03,2,RainbowDance
  Inserting,0x03,3,WaterDance
  Inserting,0x03,4,MickeyMouse
  Inserting,0x03,5,Ratyear
  ValuebeforeUpdate,0x02,5,Ratyear
  ValueafterUpdate,0x02,5,test
  Deleting,0x03,3,WaterDance
  Deleting,0x03,4,MickeyMouse
  homesql2008(HOMEMAK):(9row(s)affected)

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

图Fig 1.1

从以上的结果中,我们可以看出只有ID和Name这2列被监控到了,开启数据捕获功能之后增加的所有列都内有被监控到。

第九步

现在我们对所有列进行数据捕获。先关闭当前的数据捕获功能,再打开数据捕获功能就可以了。使用下面的语句关闭当前功能:

  use[CDCDB]
  go
  EXECsys.sp_cdc_disable_table_change_data_capture
  @source_schema='dbo',
  @source_name='Employee',
  @capture_instance='dbo_Employee'
  Go

第十步

使用如下T-SQL语句在表“Employee”上开启捕获数据变化功能。这次我们想查看到哪些列被监控了。

  use[CDCDB]
  go
  EXECsys.sp_cdc_enable_table_change_data_capture
  @source_schema='dbo',
  @source_name='Employee',
  @role_name='cdc_Employee',
  @captured_column_list=N'ID,Name,Salary,Bonus'
  GO

查询捕获数据变化模式下Empolyee表的变化,如下:

  use[CDCDB]
  go
  select*fromcdc.dbo_Employee_CT
  go

执行结果显示,Empolyee表的所有列都被监控了。(参考图 Fig 1.2)

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

图 Fig 1.2

结论

为了更好的监控表结构的变化,我们可以在适当的时候关闭或开启数据库上的捕获数据变化功能。

上一页  1 2 3 4 

Tags:SQL Server 新功能

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接