Sql-Server
如何從 cdc 表中讀取數據?
我想嘗試一下
change data capture
sql server的功能,但我無法讓它工作我做了什麼
-- enable cdc EXEC sys.sp_cdc_enable_db -- enable it on a table, for testing EXEC sys.sp_cdc_enable_table @source_schema = N'dbo', @source_name = N'tblUser', @role_name = NULL, @supports_net_changes = 1 -- check if it got enabled (yes it did) select t.name, t.is_tracked_by_cdc, from sys.tables t where name = 'tblUser'
所以,現在我只是在該表的一行中更改了一些值,接下來我想看看它的外觀。
所以我注意到
cdc
在一些表中創建了一個模式system tables
,所以我想讓我們看看表 cdc.dbo_tblUser_CT 中有什麼但後來我明白了
所以現在我被卡住了。
我必須做什麼才能看到更改的數據?
Microsoft SQL Server 2019 (RTM-CU15) (KB5008996) - 15.0.4198.2 (X64)
2022 年 1 月 12 日 22:30:08 版權所有 (C) 2019 Microsoft Corporation Standard Edition (64-bit) on Windows Server 2019 Standard 10.0 (Build 17763) :)(管理程序)
兼容級別為 150
我同意 Learning_DBAdmin,您應該始終使用最新系列的 SSMS。這很可能是你的問題。SSMS 的 17 系列在這一點上已經很老了。
否則,您可以嘗試手動寫出
SELECT TOP 1000 * FROM cdc.dbo_tblUser_CT
SSMS 將為您生成的腳本。(替換*
為實際的列名。)我知道您提到您仍然使用 17 系列的 SSMS 進行調試,但是您使用該版本的時間越長,您會發現自己遇到的問題越多。相反,Visual Studio 現在可以調試 SQL。請參閱此StackOverflow 答案以了解如何設置它。