网络编程
位置:首页>> 网络编程>> 数据库>> SQL 2008的变更数据捕获——跟踪可变部分(2)

SQL 2008的变更数据捕获——跟踪可变部分(2)

作者:代翀 来源:IT专家网 发布时间:2009-03-20 11:47:00 

标签:SQL,2008,变更,数据捕获

在sys.all_objects表中还有四个新的看起来很奇怪的“SQL inline table-valued function”登录:

· fn_cdc_get_all_changes_◦...◦

· fn_cdc_get_all_changes_...

· fn_cdc_get_net_changes_◦...◦

· fn_cdc_get_net_changes_...

(我使用了非比例字体,用“◦”来标记空格,使得很清楚地看到在这些名称中有嵌入的空格。)

下面是会返回这些函数的查询:

SELECT [name] FROM sys.all_objects WHERE [name] LIKE '%...%'

还有更多的新存储过程

· sp_batchinsert_lsn_time_mapping

· sp_ins_dummy_lsn_time_mapping

· sp_ins_instance_enabling_lsn_time_mapping

· sp_ins_lsn_time_mapping

现在还没有新的作业或角色。

创建新的Schema和用户表

CREATE SCHEMA MySchema

CREATE TABLE MySchema.Person (

PersonID int IDENTITY PRIMARY KEY,

FirstName varchar(32) NOT NULL,

LastName varchar(32) NOT NULL,

UpdateCt int NOT NULL DEFAULT 0

)

上面的代码创建了一个新的用户表,但是这个表还没有激活CDC。

这个步骤不影响我们所跟踪的函数/存储过程/角色列表。

为新的用户表激活CDC

EXEC sys.sp_cdc_enable_table

@source_schema = N'MySchema',

@source_name = N'Person',

@role_name = N'ChangeDataAccessRole',

@supports_net_changes = 1

这会为新的用户表激活CDC。刷新上面所列的文件夹。我们现在有了

· 一个新的系统表(cdc.MySchema_Person_CT)

· 两个新的作业(cdc.TestCdc_capture和cdc.TestCdc_cleanup)

· 一个新的数据库角色(ChangeDataAccessRole)

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com