SQL Server2008新功能 捕获数据变化2
2008-02-29 11:39:57 来源:IT专家网 作者:Jackie 点击:
这一部分将继续讨论在数据库和表上启动捕获数据变化这一功能,对于开启了CDC的表,SQL Server又是如何监控它们的数据变化的。
够监控表的变化,这是SQL Server 2008的一个新特征。我们可以通过SQL Server 2008的变化数据捕获功能轻松地监控表的变化。
文章的第一部分说明了如何在数据库中启动SQL Server这项新功能--捕捉数据变化,同时也讲解了如何对数据表启用这项功能,并监控表上数据定义语言的变化,并解释了CDC模式以及该模式下各对象实现的功能。
注:本文根据SQL Server 2008-11月CTP写作而成。
这一部分将继续讨论在数据库和表上启动捕获数据变化这一功能,对于开启了CDC的表,SQL Server又是如何监控它们的数据变化的。
在文章的第一部分,我们创建了一个名为Mydatabase的数据库,并在该数据库中创建了一个名为Mytable的表,现在我们要在该表上增加一些列,来看看数据定义语言的变化是如何被捕捉的。
下面,我们先向数据库中添加一些数据。
第一步
执行如下T-SQL语句,如下图Fig 1.1所示。
use MyDataBase
go
select * from MyTable
go
Insert into Mytable values (1, 'Dance Doll','221, West Broad st,
Greenbay, Wisconsin',60000,1000)
Insert into Mytable values (2, 'Rainbow Colors','21, East st,
Denville, New Jersey',68000,1300)
Insert into Mytable values (3, 'River Dance','1, South Broad st,
Quincy, Massachusetts',76000,1600)
Insert into Mytable values (4, 'Mickey Mouse','5, Main,
Greenbay, Wisconsin',120000,12000)
Insert into Mytable values (5, 'Universal Studios','7, New road,
Danbury , Connecticut',45000,1600)
go |
执行结果
ID, Name, Address, Salary, Bonus
home\sql2008 (HOME\MAK): (0 row(s) affected)
home\sql2008 (HOME\MAK): (1 row(s) affected)
home\sql2008 (HOME\MAK): (1 row(s) affected)
home\sql2008 (HOME\MAK): (1 row(s) affected)
home\sql2008 (HOME\MAK): (1 row(s) affected)
home\sql2008 (HOME\MAK): (1 row(s) affected) |

图Fig 1.1
CDC模式下,表lsn_time_mapping记录了lsn名称,事务开始和结束时间。我们可以查询一下这个表,查询语句如下:参考图Fig 1.2
| select * from cdc.lsn_time_mapping |
执行结果
start_lsn, tran_begin_time, tran_end_time, tran_id
0x0000001C0000018B002F, 2008-01-16 01:53:38.840, 2008-01-16 01:53:38.840, 0x00000000029C
0x0000001C000001920003, 2008-01-16 01:53:38.857, 2008-01-16 01:53:38.857, 0x00000000029F
0x0000001C000001930003, 2008-01-16 01:53:38.857, 2008-01-16 01:53:38.857, 0x0000000002A0
0x0000001C000001940003, 2008-01-16 01:53:38.857, 2008-01-16 01:53:38.857, 0x0000000002A1
0x0000001C000001950003, 2008-01-16 01:53:38.857, 2008-01-16 01:53:38.857, 0x0000000002A2
home\sql2008 (HOME\MAK): (5 row(s) affected) |
|