- 寫在前面
- SQL Server開啟CDC
-
- 1. 將指定庫的實(shí)例先開啟CDC
- 2. 開啟需要開啟CDC的表
- 3. 關(guān)閉CDC功能
- 更詳細(xì)信息參照官網(wǎng)
寫在前面
鑒于老舊數(shù)據(jù)的結(jié)構(gòu)和項(xiàng)目都在sqlserver上存儲,且遷移成本巨大,當(dāng)下要為sqlserver的存儲過程減負(fù)。要將一部分流式的動態(tài)數(shù)據(jù)實(shí)現(xiàn)實(shí)時(shí)查詢并存儲數(shù)倉。那在現(xiàn)有的數(shù)據(jù)環(huán)境下, 將sqlserver的數(shù)據(jù)通過flink 接管實(shí)現(xiàn)數(shù)據(jù)輸出和倉庫存儲。
SQL Server開啟CDC
數(shù)據(jù)同步的開啟方式對于sqlserver來說有點(diǎn)特殊,集成在現(xiàn)有的環(huán)境中,我們的sqlserver是2012版本的
具體操作如下:
1. 將指定庫的實(shí)例先開啟CDC
命令:
USE database;
GO
EXEC sys.sp_cdc_enable_db
必須指定庫名先開啟CDC不然會報(bào)類似以下的錯(cuò):請確保已設(shè)置正確的數(shù)據(jù)庫上下文,然后重試該操作。若要報(bào)告數(shù)據(jù)庫已啟用變更數(shù)據(jù)
執(zhí)行成功之后會在sys下創(chuàng)建以下幾張表,通過客戶端,可以在系統(tǒng)表的目錄下看到
cdc.captured_columns
cdc.change_tables
cdc.ddl_history
cdc.index_columns
cdc.lsn_time_mapping
dbo.systranschemas
執(zhí)行之后查看對應(yīng)的數(shù)據(jù)庫是否已經(jīng)開啟,可以查看已經(jīng)開啟CDC的庫都有那些:
命令:
select *
from sys.databases where is_cdc_enabled = 1
2. 開啟需要開啟CDC的表
指定的庫開啟了CDC之后,可以單獨(dú)指定具體某一個(gè)表來開啟CDC功能,可以通過命令來實(shí)現(xiàn)具體某個(gè)表啟用CDC
命令:
EXEC sys.sp_cdc_enable_table @source_schema = 'dbo', @source_name = 't1', @role_name = null;
為第一個(gè)表啟用CDC后,SQLServer生成兩個(gè)Agent作業(yè)
cdc.dbname_capture
cdc.dbname_cleanup
具體的命令可以通過找到官網(wǎng)相關(guān)介紹來查看更多的關(guān)于sqlserver CDC的東西
查看剛剛開啟CDC的表是否啟用了CDC
select name, is_tracked_by_cdc
from sys.tables where object_id = OBJECT_ID('dbo.t1')
當(dāng)然,也可以查看哪些表開啟了CDC
select name, is_tracked_by_cdc
from sys.tables where is_tracked_by_cdc = '1'
3. 關(guān)閉CDC功能
關(guān)閉表(“dbo.t1”)的CDC
EXEC sys.sp_cdc_disable_table @source_schema = 'dbo', @source_name = 't1', @capture_instance = 'all';
禁用數(shù)據(jù)庫所有實(shí)例CDC
EXEC sys.sp_cdc_disable_db;
?另外如果SqlServer沒有開啟SqlServer代理請看:
2021-09-06 docker中SqlServer開啟代理服務(wù),并配置cdc_docker安裝sqlserver2007并啟用cdc_KX-UP的博客-CSDN博客
?
補(bǔ)充一句,如果操作提示沒權(quán)限:文章來源:http://www.zghlxwxcb.cn/news/detail-675581.html
docker exec -it -u root sql1 /bin/bash文章來源地址http://www.zghlxwxcb.cn/news/detail-675581.html
到了這里,關(guān)于flink CDC-SqlServerCDC 開啟代理及SQL Server開啟CDC的完整操作過程的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!