SQL Server 2008为异步跟踪所有发生在用户表上的数据修改提供了内建的方法,而不需要编写自定义触发器或查询。变更数据捕获拥有最小性能开销,可以用于其他数据源的持续更新,例如,将OLTP数据库中的数据变更迁移到数据仓库数据库。
--创建用来演示的新的数据库
IF NOT EXISTS (SELECT name
FROM sys.databases
WHERE name='TSQLRecipe_CDC_DEMO')
BEGIN
CREATE DATABASE TSQLRecipe_CDC_DEMO
END
--验证数据库是否启用了变更数据库变更捕获
SELECT is_cdc_enabled
FROM sys.data_spaces
WHERE name='TSQLRecipe_CDC_DEMO'
--开启cdc
USE TSQLRecipe_CDC_DEMO
EXECUTE sys.sp_cdc_enable_db
GO
启用 变更数据捕获后,可以在数据库中通过使用sys.sp_cdc_enable table系统存储过程对表进行变更捕获。这个存储过程的参数为:
参数 |
描述 |