首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

SQL Server 2008 變更資料擷取 (CDC) 實戰教學 (一):建立資料庫、啟用 CDC、監控 DDL 變更

     編輯:關於SqlServer

實驗環境

基於 SQL Server 2008 11 月 CTP。

步驟 1:建立資料庫

USE [master];
IF EXISTS (SELECT name FROM sys.databases WHERE name = N'MyDataBase') DROP DATABASE [MyDataBase];
CREATE DATABASE [MyDataBase];

步驟 2:建立資料表

USE [MyDataBase];
CREATE TABLE [dbo].[MyTable] (
    [ID] [int] NOT NULL,
    [Name] [varchar](100) NULL,
    CONSTRAINT [MyTable_PK] PRIMARY KEY CLUSTERED ([ID] ASC)
) ON [PRIMARY];

步驟 3:啟用資料庫層級 CDC

USE [MyDataBase];
EXEC sys.sp_cdc_enable_db_change_data_capture;

系統建立 cdc 結構描述與 5 張系統表:captured_columns, change_tables, ddl_history, index_columns, lsn_time_mapping (初始皆空)。

步驟 4:啟用資料表層級 CDC

USE [MyDataBase];
EXEC sys.sp_cdc_enable_table_change_data_capture
    @source_schema = 'dbo',
    @source_name = 'MyTable',
    @role_name = 'cdc_MyTable';

Agent 自動建立 cdc.MyDataBase_capture 與 cdc.MyDataBase_cleanup 兩項作業。

步驟 5:驗證 CDC 狀態

SELECT is_cdc_enabled FROM sys.databases WHERE name = 'MyDataBase'; -- 1 表示啟用
SELECT is_tracked_by_cdc FROM sys.tables WHERE name = 'MyTable'; -- 1 表示啟用

步驟 6:監控 DDL 變更

ALTER TABLE MyTable ADD Address varchar(500);
ALTER TABLE MyTable ADD Salary money;
ALTER TABLE MyTable ADD Bonus money;

SELECT * FROM cdc.ddl_history;

結果顯示三筆 DDL 命令與 LSN、時間戳記,證明 CDC 成功捕捉結構描述變更。

結語

本文示範建立資料庫、資料表、啟用 CDC、驗證狀態與監控 DDL 變更完整流程,奠定後續資料變更擷取基礎。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved