SQL 2008的变更数据捕获——跟踪可变部分
SQL Server 2008的CDC函数读取激活了CDC的每个表所关联的事务日志来记录系统表中的变更。它将这些文件写到同一个数据库的系统表中,这些系统表是可以通过直接查询或系统函数来访问的。
让我们看些示例代码并看看每一步有什么改变。
使用示例代码来跟踪可变部分
首先,我们从一个全新的数据库开始。要跟踪这些变更,打开对象浏览器并展开这些文件夹:
· Databases
· SQLServer Agent | Jobs
· (数据库创建之后)Security | Roles | Database Roles
· (数据库创建之后)Programmability | Stored Procedures | System Stored Procedures
· (数据库创建之后)Programmability | Functions | Table-valued Functions
创建数据库
CREATE DATABASE TestCdc
这为我们创建了新数据库,但是没有新作业。展开Tables文件夹和System Tables文件夹。现在是空的。
在数据库TestCdc上激活变更数据捕获
USE TestCdc
-- Turn on Change Data Capture at database level
EXEC sys.sp_cdc_enable_db
这个步骤需要一些时间。现在刷新System Tables文件夹。现在它下面有6个系统表:
· cdc.captured_columns
· cdc.change_tables
· cdc.ddl_history
· cdc.index_columns
· cdc.lsn_time_mapping
· dbo.systranschemas
注意,其中的5个是“cdc” schema 部分的。