문제

나는 잘못을 삭제 모든 행 MS SQL2000 을 사용되는 테이블에서 병합 복제(테이블은 게시자에서).그때 나는 복합제를 사용하여 DTS 을 검색하는 작업을 행 백업에서 데이터베이스를 채웁니다.

이것을 만들었 다음과 같은 문제점을 해결합니다.삭제 작업 표시된 행 삭제를 위해 클라이언트에서만 DTS 작업을 무시 복제 트리거 그래서 수입된 행에 표시되지 않은 삽입을 위해서입니다.에서 효과 구내구독자 데이터를 잃고 있지만 그것은 게시자입니다.

그래서 저는 생각했다"걱정 없이"나만 행을 삭제하시고 다음을 추가 제대로 그들을 통해 insert 문과 그들은 다음 표에 삽입입니다.

이 문제는:나는 삭제할 수 없습 DTSed 행하기 때문에 나는"중복 키를 삽입할 수 없습니다 행 개체'MSmerge_tombstone'독특한 색인'uc1MSmerge_tombstone'."오류가 있습니다.내가 무엇을 하고 싶은 것은 어떻게든 삭제 행 테이블에서 우회합 병합 복제 트리거입니다.이것이 가능한가요?나는 원하지 않을 제거하고 다시 복제하기 때문에 가입자 50+윈도우 모바일 장치입니다.

편집:가 Truncate 테이블의 명령입니다.이렇게 다음과 같은 오류"을 자를 수 없습 테이블 xxxx 기 때문에 그것은 출판을 위한 복제를"

도움이 되었습니까?

해결책 6

팁 주셔서 감사합니다...내가 결국 해결책을 발견:

이제 병합 삭제거에서 테이블
삭제 행 DTSed
다시 병합 삭제를 트리거
추가 나의 행 올바르게 사용하여 삽입하는 문입니다.

는 시합을 조롱으로 병합 트리거 그러나 모든 것 을 제대로 작동하는지 확인합니다.

다른 팁

당신도 잘라내십니다.

할 수 있습을 잘라내는 테이블과정 ID 필드를 0 으로 다시해야 하는 경우에 삽입되는 행 동일한 ID 입니다.하지 않을 경우,그냥 잘라내고 그것을 잘해야합니다.

당신은 또한 볼 수 있으로 일시적으로 떨어지고 독특한 색인하고 다시 추가하면 당신은 끝났어.

보 sp_mergedummyupdate

는 것을 만드 두 번째는 테이블 옵션이 될?을 만들 수 있습니다 두 번째,테이블 채우 필요한 데이터를 추가,제약/인덱스는 다음,드롭 첫 테이블과 이름을 바꾸는 당신의 두 번째이다.이해 당신에게 데이터를 제공과 함께 오른쪽 키를...그리고 모든 구성 SQL 문의할 수 있는 트리클로 복제가 있습니다.그것은 그냥 되지 않습니다 아마도 최고의 성능에...및히 부과하는 어느 정도의 위험이 있습니다.

웹사이 먼저 손 복제 환경에서...지할 수 있도 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top