如果利用SQL Server 2008新特性之CDC
2008-04-16 09:53:39 来源:WEB开发网以下是引用片段:
declare@rcint
exec@rc=sys.sp_cdc_enable_db
select@rc
--newcolumnaddedtosys.databases:is_cdc_enabled
selectname,is_cdc_enabledfromsys.databases
如果成功启用CDC,存储过程sys.sp_cdc_enable_db就会返回0值,如果失败,就会返回!值。你可以通过在sys.databases 表里查看新增列is_cdc_enabled 来查询CDC是否启用成功。如果成功启用CDC,你会看到查询结果为1,如果失败了,你就会看到查询结果为1。
下一步就是指定你想要启用CDC的具体表。我们现在来新建一个名为customer的表:
以下是引用片段:
createtabledbo.customer
(
idintidentitynotnull
,namevarchar(50)notnull
,statevarchar(2)notnull
,constraintpk_customerprimarykeyclustered(id)
)
执行以下系统存储过程来为customer表启用CDC:
以下是引用片段:
execsys.sp_cdc_enable_table
@source_schema='dbo',
@source_name='customer',
@role_name='CDCRole',
@supports_net_changes=1
selectname,type,type_desc,is_tracked_by_cdcfromsys.tables
你必须是db_owner固定数据库角色的成员才能够执行上述的系统存储过程,而且必须运行SQL Agent。系统存储过程sys.sp_cdc_enable_table有许多参数,我们来一个一个介绍(只有前三个参数是必须的,其他参数是可选的,下面只列出了我们使用过的参数):
@source_schema是你想要启动CDC的表的Schema名称
更多精彩
赞助商链接