sql-server – 标量函数fn_cdc_get_min_lsn()不断返回’0x000000
发布时间:2020-12-12 07:28:12 所属栏目:MsSql教程 来源:网络整理
导读:我在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
我在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中很常见. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |