2012-03-08 4 views
1

여러 데이터베이스에서 테이블을 통합하기 위해 SSIS 패키지를 빌드했지만 DBA가 소스 테이블에서 수동으로 레코드를 삭제하는 경우가 있습니다. 레코드가 삭제 된 경우 통합 테이블에서 감지 할 수있는 방법이 있습니까? 나는 패키지가 실행되기 전에 매번 통합 테이블을자를 수 있지만 다른 방법이 있는지 궁금합니다.SSIS가 레코드가 삭제되었는지 확인합니다.

+0

안녕하세요, 자세한 내용을 제공해 주시겠습니까? DB1, DB2 및 DB3을 읽고 통합 테이블에 데이터를 삽입 하시겠습니까? 소스 DB에서 삭제와 관련된 문제점은 무엇입니까? 뭔가 망가 뜨린거야? 아니면 그냥 누락 된 기록입니까? – Diego

+0

통합 테이블에 행을 원본 시스템과 고유하게 연결하는 메커니즘이 있습니까? – billinkc

+0

@Diego : DB1의 레코드가 삭제 된 경우에도 여전히 통합 테이블에 존재합니다. –

답변

1

SQL Server Central의 Stairway to Integration Services series에있는 원본에서 삭제 된 대상의 데이터 삭제를 관리하는 한 가지 방법을 보여줍니다. 이 도움이

희망, 앤디

0

나는 몇 가지 솔루션의 생각했지만, 지금은 큰 문제가 당신이 통합 데이터 소스를하지 않아도 기록이 존재하지만 존재하지 않을 수도 있다는 것이다 실현 B, 따라서 당신은 그것을 삭제할 수 없습니다.

내 제안은 모든 소스에서 select distinct (id)를 실행하고 구조 (테이블, 임시 테이블, 뷰, UNION ...)에 함께 넣고 이것으로부터 Merge를 실행합니다. 소스를 대상에 넣고 ID가 일치하지 않을 때만 삭제하십시오.

관련 문제