SQL Server 2008新功能 捕获数据变化(3)
http://tech.ddvip.com 2008年04月14日 社区交流
内容摘要:捕获数据变化功能可以方便地监控到表的变化。本文的第一、二部分介绍了怎样在数据库及表上开启捕获数据变化功能。下面将介绍的是,如果表的结构发生变化,捕获数据变化功能将有什么样的表现。

图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)

图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)

图 Fig 1.2
结论
为了更好的监控表结构的变化,我们可以在适当的时候关闭或开启数据库上的捕获数据变化功能。
来源:IT专家网 作者:Jackie 责编:豆豆技术应用
- SQL Server 2008 教程
- SQL Server 2005 教程
- SQL Server 安全设置
- SQL Server 故障解决
- SQL Server 安装配置
- SQL Server 备份恢复
- SQL Server 性能调优
- SQL Server 存储过程
- SQL Server 函数
- SQL Server 事务
- SQL Server 查询
- SQL Server 索引
- SQL Server 入门教程
- SQL Server 数据类型
- SQL Server 数据库表
- SQL Server T-SQL
- SQL Server 语句
- SQL Server 死锁
- SQL Server 加密
- SQL Server 数据库连接
- SQL Server 数据仓库
- SQL Server 数据库管理
- 更多SQL Server 专题>>>