找不到表“cdc.lsn_time_mapping”

Ber*_*ais 6 sql-server

我正在开发一个调用此函数(sys.fn_cdc_map_time_to_lsn)的遗留系统,并且出现以下错误:

Invalid object name 'cdc.lsn_time_mapping'
Run Code Online (Sandbox Code Playgroud)

我在对象资源管理器中找不到此表。这个功能有替代品吗?还是我需要有任何特殊权限才能访问它?

提前致谢。

Ben*_*hul 6

事实证明,OPs 数据库没有启用 CDC。启用它将创建该表(以及其他对象)。


kyl*_*eus 6

FWIW,我在 MSSQL Server Management Studio 中遇到了同样的错误,因为我选择了错误的数据库。

另外,如果您查询 sys.databases

SELECT name, is_cdc_enabled 
FROM sys.databases
Run Code Online (Sandbox Code Playgroud)

并且它没有启用。您可以通过执行以下命令启用 CDC:

exec sys.sp_cdc_enable_db