2014-01-20 3 views
1

SQL Server 데이터베이스에서 CDC를 사용하려고하면 저장 프로 시저를 사용하여 임시 CDC 테이블의 데이터를 새 테이블로 이동합니다. 또한 Start_lsn 스탬프를 이동합니다.경우에 따라 fn_cdc_map_lsn_to_time이 NULL을 반환합니다.

NULL     0x000034D5000002F80001 
2014-01-16 00:38:39.377 0x0000350F000006D70001 

NULL     0x00003513000003BA0001 2 0x3FFFFF 
2014-01-18 02:00:05.320 0x0000351E000009FA0001 2 0x3FFFFF 

어떤 설명이 :이 예를 들어, 내가 시간에 LSN을 매핑 할 fn_cdc_map_lsn_to_time를 사용해보십시오 새 테이블에서 일부 레코드 것이 null을 반환하고 다른 사람을 위해 정확한 시간을 반환합니다.

고마워요.

답변

2

답변을 찾았지만 기록에 추가하고 싶습니다.

여기에서 문제는 CDC 테이블의 레코드를 삭제하지 못하도록 자체 테이블로 옮겼습니다.

fn_cdc_map_lsn_to_time은 시스템 테이블을 사용하여 cdc 테이블의 LSN을 타임 스탬프에 매핑합니다. 시간이 지나면 해당 레코드가 삭제되어 일부 레코드가 최근에 추가 되었기 때문에 시간이 올바르게 매핑되었지만, 이미 삭제 되었기 때문에 이전 레코드가 매핑되지 않았습니다.

관련 문제