SQL Server 2008新功能 捕获数据变化(3)
2008-04-14 09:54:17 来源:WEB开发网图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
结论
为了更好的监控表结构的变化,我们可以在适当的时候关闭或开启数据库上的捕获数据变化功能。
- ››sql server自动生成批量执行SQL脚本的批处理
- ››sql server 2008亿万数据性能优化
- ››SQL Server 2008清空数据库日志方法
- ››sqlserver安装和简单的使用
- ››SQL Sever 2008 R2 数据库管理
- ››SQL SERVER无法安装成功,sqlstp.log文件提示[未发...
- ››Sql Server中通过父记录查找出所有关联的子记录
- ››SqlServer触发器、存储过程和函数
- ››SQL Server 中的事务(含义,属性,管理)
- ››Sqlite数据库插入和读取图片数据
- ››Sql server 2005拒绝了对对象 'xx表' (数...
- ››Sql server 2005拒绝了对对象 'xx表' (数...
更多精彩
赞助商链接