WEB开发网
开发学院数据库MSSQL Server 如果利用SQL Server 2008新特性之CDC 阅读

如果利用SQL Server 2008新特性之CDC

 2008-04-16 09:53:39 来源:WEB开发网   
核心提示: 以下是引用片段:declare@rcintexec@rc=sys.sp_cdc_enable_dbselect@rc--newcolumnaddedtosys.databases:is_cdc_enabledselectname,is_cdc_enabledfromsys.database

以下是引用片段:
  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名称

上一页  1 2 3 4 5 6  下一页

Tags:如果 利用 SQL

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接