前言
多多點贊,會變好看!
多多留言,會變有錢!
一、CDC簡介
變更數(shù)據(jù)捕獲(Change Data Capture ,簡稱 CDC):記錄 SQL Server 表的插入、更新和刪除操作。開啟cdc的源表在插入、更新和刪除操作時會插入數(shù)據(jù)到日志表中。cdc通過捕獲進程將變更數(shù)據(jù)捕獲到變更表中,通過cdc提供的查詢函數(shù),可以捕獲這部分數(shù)據(jù)。
二、開啟CDC的必要條件
1、sqlserver 2008 以上版本
2、需要開啟sql代理服務
3、磁盤要有足夠的空間,保存日志文件
4、表必須要有主鍵或者是唯一索引
三、開啟數(shù)據(jù)庫CDC步驟
step1?開啟數(shù)據(jù)庫代理
SQL Server工具里啟動代理:
文章來源:http://www.zghlxwxcb.cn/news/detail-678492.html
服務里開啟自動啟動:文章來源地址http://www.zghlxwxcb.cn/news/detail-678492.html
step2?開啟數(shù)據(jù)庫CDC腳本
IF EXISTS ( ?SELECT 1?
? ? ? ? ? ? ?FROM master.dbo.sysprocesses?
? ? ? ? ? ? ?WHERE program_name = N'SQLAgent - Generic Refresher')
BEGIN
? ? SELECT @@SERVERNAME AS 'InstanceName', 1 AS 'SQLServerAgentRunning'
END
ELSE?
BEGIN
? ? SELECT @@SERVERNAME AS 'InstanceName', 0 AS 'SQLServerAgentRunning'
END
-- 查看數(shù)據(jù)庫CDC開啟狀態(tài)
SELECT name, is_cdc_enabled FROM sys.databases WHERE is_cdc_enabled = 1;
-- 開啟數(shù)據(jù)庫CDC
USE BAFY;
EXECUTE sys.sp_cdc_enable_db;
--?開啟表CDC
? EXEC?sys.sp_cdc_enable_table??
????@source_schema?=?'bzk',??
????@source_name?=?'YLZL_BZFY_GYHSDC',??
????@role_name?=?null;?
? EXEC?sys.sp_cdc_enable_table??
????@source_schema?=?'bzk',??
????@source_name?=?'YLZL_BZFY_JCXLNJZL',??
????@role_name?=?null;?
? EXEC?sys.sp_cdc_enable_table??
????@source_schema?=?'bzk',??
????@source_name?=?'YLZL_BZFY_JXYXY',??
????@role_name?=?null;?
? EXEC?sys.sp_cdc_enable_table??
????@source_schema?=?'bzk',??
????@source_name?=?'YLZL_BZFY_SXHDCX',??
????@role_name?=?null;?
? EXEC?sys.sp_cdc_enable_table??
????@source_schema?=?'bzk',??
????@source_name?=?'YLZL_BZFY_YZXCB',??
????@role_name?=?null;?
-- 查看表cdc開啟狀態(tài)
SELECT name, is_tracked_by_cdc FROM sys.tables WHERE name like 'YLZL_%';
到了這里,關于SQL server開啟變更數(shù)據(jù)捕獲(CDC)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!