복제본(replica)ted 테이블 간의 차이점 비교(복제 프로그래밍)

적용 대상:SQL ServerAzure SQL Managed Instance

아티클 유효성 검사는 게시자 및 구독자의 테이블 아티클에 게시된 데이터가 동일하지 않은지 확인하는 데 사용되며 이는 비수렴성을 나타낼 수 있습니다. 자세한 내용은 복제된 데이터의 유효성 검사를 참조하세요. 그러나 유효성 검사는 통과 또는 실패 정보만 반환하며 원본 테이블과 대상 테이블 간의 차이점에 대한 정보를 제공하지 않습니다. tablediff 명령 프롬프트 유틸리티는 두 테이블 간의 자세한 차이점 정보를 반환하며, 구독을 게시자의 데이터와 수렴하도록 Transact-SQL 스크립트를 생성할 수도 있습니다.

참고 항목

tablediff 유틸리티는 SQL Server 서버에 대해서만 지원됩니다.

tablediff를 사용하여 복제본(replica)ted 테이블의 차이점을 비교하려면

  1. 복제 토폴로지에 있는 서버의 명령 프롬프트에서 tablediff Utility를 실행합니다. 다음 매개 변수를 지정합니다.

    • -sourceserver - 올바른 데이터가 있는 서버(대개 게시자)의 이름입니다.

    • -sourcedatabase - 올바른 데이터를 포함하는 데이터베이스의 이름입니다.

    • -sourcetable - 비교할 아티클의 원본 테이블 이름입니다.

    • -sourceschema (옵션) - 원본 테이블의 스키마 소유자입니다(기본 스키마가 아닌 경우).

    • (선택 사항) SQL Server 인증을 사용하여 게시자에 연결하는 경우 -sourceuser-sourcepassword 입니다.

      Important

      가능하면 Windows 인증을 사용하세요. SQL Server 인증을 사용해야 하는 경우 런타임에 보안 자격 증명을 입력하라는 메시지를 사용자에게 표시합니다. 스크립트 파일에 자격 증명을 저장해야 하는 경우 무단 액세스를 방지하기 위해 파일을 보호해야 합니다.

    • -destinationserver - 데이터를 비교할 서버의 이름(일반적으로 구독자)입니다.

    • -destinationdatabase - 비교할 데이터베이스의 이름입니다.

    • -destinationtable - 비교할 테이블의 이름입니다.

    • (선택 사항) -destinationschema - 기본 스키마가 아닌 경우 대상 테이블의 스키마 소유자입니다.

    • (선택 사항) SQL Server 인증을 사용하여 구독자에 연결하는 경우 -destinationuser-destinationpassword 입니다.

      Important

      가능하면 Windows 인증을 사용하세요. SQL Server 인증을 사용해야 하는 경우 런타임에 보안 자격 증명을 입력하라는 메시지를 사용자에게 표시합니다. 스크립트 파일에 자격 증명을 저장해야 하는 경우 무단 액세스를 방지하기 위해 파일을 보호해야 합니다.

    • (선택 사항) -c를 사용하여 열 수준 비교를 수행합니다.

    • -q (옵션) - 행 개수 전용 및 스키마 전용 비교를 수행하려는 경우에 사용합니다.

    • (선택 사항) -o파일 이름과 경로를 지정하여 결과를 파일에 출력합니다.

    • (선택 사항) -et에 대한 결과를 삽입할 구독 데이터베이스의 테이블을 지정합니다. 테이블이 이미 있는 경우 -dt를 지정하여 먼저 테이블을 삭제합니다.

    • (선택 사항) -f를 사용하여 Transact-SQL 파일을 생성하여 게시자의 데이터와 일치하도록 구독자에서 데이터를 수정합니다. -df를 사용하여 각 파일의 Transact-SQL 문 수를 지정합니다.

    • (선택 사항) -rc-ri를 사용하여 작업을 다시 시도할 횟수와 재시도 간격을 지정합니다.

    • (선택 사항) -strict를 사용하여 원본 테이블과 대상 테이블 간에 엄격한 스키마 비교를 적용합니다.

참고 항목

구독자에서 데이터 유효성 검사