gpt4 book ai didi

sql-server - 标量函数 fn_cdc_get_min_lsn() 不断返回 '0x00000000000000000000' 以获得有效的表名?

转载 作者:行者123 更新时间:2023-12-02 17:17:18 25 4
gpt4 key购买 nike

我在 MS SQL 2008 数据库上激活了更改数据捕获 (CDC),并使用以下代码向数据捕获添加新表:

EXEC sys.sp_cdc_enable_table
@source_schema ='ordering',
@source_name ='Fields',
@role_name = NULL,
@supports_net_changes = 0;

但是,每当我尝试使用 sys.fn_cdc_get_min_lsn(@TableName) 从跟踪表中选择更改时功能

 SET @Begin_LSN = sys.fn_cdc_get_min_lsn('Fields')

我总是得到零值。

我尝试使用以下拼写添加架构名称:

 SET @Begin_LSN = sys.fn_cdc_get_min_lsn('ordering.Fields')

但这没有帮助。

最佳答案

我的假设是 sys.fn_cdc_get_min_lsn()接受表名。我主要是被 MSDN 文档中的示例误导了,可能没有检查参数的确切含义。

事实证明sys.fn_cdc_get_min_lsn()接受捕获实例名称,而不是表名称!

粗略地浏览一下我当前的捕获实例:

SELECT capture_instance FROM cdc.change_tables

返回正确的参数名称:

ordering_Fields

因此,应该使用下划线作为架构分隔符,而不是使用 SQL Server 中常见的点表示法。

关于sql-server - 标量函数 fn_cdc_get_min_lsn() 不断返回 '0x00000000000000000000' 以获得有效的表名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16298167/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com