Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server SQL Server CDC增量始终在状态TFREDO时失败_Sql Server_Cdc - Fatal编程技术网

Sql server SQL Server CDC增量始终在状态TFREDO时失败

Sql server SQL Server CDC增量始终在状态TFREDO时失败,sql-server,cdc,Sql Server,Cdc,我已经在SQL server内部部署中设置了变更数据捕获,即CDC,并使用SSI为ETL框架提供了动力,以使用CDC允许传递网络变更 每5分钟运行一次增量加载,直到达到CDC状态“TFREDO…”之前出现任何故障,一切都正常运行。之后,在下一次运行时,“CDC-Get Processing Range”任务会注意到CDC\u状态格式不正确的错误: 从我所能找到的情况来看,克服这一问题的唯一方法是: 注意到使用新值手动更新状态表中的cdc_状态: 是否有其他方法使CDC符合要求,以便读取此“T

我已经在SQL server内部部署中设置了变更数据捕获,即CDC,并使用SSI为ETL框架提供了动力,以使用CDC允许传递网络变更

每5分钟运行一次增量加载,直到达到CDC状态“TFREDO…”之前出现任何故障,一切都正常运行。之后,在下一次运行时,“CDC-Get Processing Range”任务会注意到
CDC\u状态格式不正确的错误:

从我所能找到的情况来看,克服这一问题的唯一方法是: 注意到使用新值手动更新状态表中的cdc_状态:


是否有其他方法使CDC符合要求,以便读取此“TFREDO…”状态变量并自行重新启动?

在我们的系统中,连续两晚发生夜间作业失败(第10和第11次)使问题更加复杂:

"Value TFREDO/CE/0x007810C6000064D00032/TS/2020-08-10T05:02:09.1054697/ of CDC state User::CDC_State is not well structured. Structure must be - logicalName(required)/[CS/<cs-lsn>/](optional)[CE/<ce-lsn>/](optional)[IR<ir-start>/<ir-end>/](optional)/[TS/timestamp/](optional)[ER/<error-message>/](optional).".
"Value TFREDO/CE/0x0078114D000F85B00018/TS/2020-08-11T05:26:27.7456461/ of CDC state User::CDC_State is not well structured. Structure must be - logicalName(required)/[CS/<cs-lsn>/](optional)[CE/<ce-lsn>/](optional)[IR<ir-start>/<ir-end>/](optional)/[TS/timestamp/](optional)[ER/<error-message>/](optional).".
USE YourDatabase;

SELECT [name]
    ,[state]
FROM YourSchema.CDC_State;

BEGIN TRAN;

    UPDATE s
    SET [state] = 'TFEND/CS/0x007810C6000064D00032/TS/2020-08-10T05:02:09.1054697/'
    FROM YourSchema.CDC_State s
    WHERE [name] = 'CDC_State';

    SELECT [name]
        ,[state]
    FROM YourSchema.CDC_State;

ROLLBACK;
--COMMIT; --...when happy with the above changes.