하나 이상의 테이블에 있는 데이터를 참조 데이터베이스에 있는 데이터와 비교 및 동기화

원본 데이터베이스 및 대상 데이터베이스의 데이터를 비교하고 비교할 테이블을 지정할 수 있습니다. 데이터를 검토하여 동기화할 변경 내용을 결정할 수 있습니다. 그런 후 대상을 업데이트해서 데이터베이스를 동기화하거나 업데이트 스크립트를 Transact-SQL 편집기 또는 파일로 내보낼 수 있습니다.

예를 들어 준비 서버를 프로덕션 데이터의 복사본으로 업데이트하기 위해 데이터베이스를 동기화할 수 있습니다. 하나 이상의 테이블을 동기화하여 다른 데이터베이스의 참조 데이터로 채울 수도 있습니다. 또한 테스트를 실행하기 전과 후에 추가 검증 형식으로 데이터를 비교할 수 있습니다.

두 데이터베이스의 데이터를 비교할 수는 있지만 데이터베이스 프로젝트 파일 또는 .dacpac는 데이터가 포함되지 않으므로 비교하도록 지정할 수 없습니다.

이 섹션에는 다음 영역에 대한 정보가 수록되어 있습니다.

요구 사항

테이블 또는 뷰의 데이터를 비교할 때 원본 데이터베이스의 테이블 또는 뷰는 대상 데이터베이스의 테이블 또는 뷰와 일부 특성을 공유해야 합니다. 다음 조건을 충족하지 않는 테이블 및 뷰는 새 데이터 비교 마법사의 두 번째 페이지에 표시되지 않습니다.

  • 테이블의 데이터 형식이 호환되는 열 이름이 일치해야 합니다.

    테이블, 뷰 및 소유자의 이름은 대/소문자를 구분합니다.

  • 테이블에는 동일한 기본 키, 고유 인덱스 또는 고유 제약 조건이 있어야 합니다.

  • 뷰에는 동일한 고유의 클러스터형 인덱스가 있어야 합니다.

  • 테이블의 이름이 동일한 경우에만 뷰와 테이블을 비교할 수 있습니다.

각 개체에는 해당되는 다른 개체를 결정하는 키 또는 인덱스가 있습니다. 각 테이블 또는 뷰에는 둘 이상의 기본 키, 고유 인덱스 또는 고유 제약 조건이 있을 수 있습니다. 따라서 사용할 키, 인덱스 또는 제약 조건을 지정하고자 할 수 있습니다.

일반 작업

이 섹션에서는 이 시나리오를 지원하는 일반적인 작업에 대한 설명을 찾을 수 있습니다.

데이터 비교 방법을 제어하는 옵션 설정: 데이터를 비교할 때 ID 열을 안전하게 무시하고 트리거를 사용하지 않도록 설정하고 외래 키를 사용하지 않도록 설정할 수 있습니다. 또한 업데이트 스크립트에서 기본 키, 인덱스 및 고유 제약 조건을 삭제할 수도 있습니다.

테이블의 데이터를 비교하고 필요에 따라 원본과 일치하도록 대상을 업데이트: 비교 및 실행할 원본 및 대상 데이터베이스를 지정한 후 데이터 비교 창에서 결과를 확인합니다. 차이점에 대한 세부 정보뿐만 아니라 데이터 동기화에 사용되는 업데이트 스크립트도 확인합니다. 두 데이터베이스 간의 차이점을 식별한 후에는 각 차이점에 대한 작업을 지정합니다. 그런 다음, 대상을 업데이트하거나 업데이트 스크립트를 Transact-SQL 편집기 또는 파일로 내보냅니다. 변경 내용을 적용하기 전에 사용자 또는 다른 사람이 검토할 수 있도록 스크립트를 내보내려 할 수 있습니다.

비교 결과 파악

다음 테이블은 데이터 비교 창에서 5개 열을 설명합니다.

Column 주의
Object 업데이트를 작성하거나 업데이트 스크립트를 내보낼 때 대상을 동기화해야 하는지 여부를 나타내는 테이블 또는 뷰의 이름과 확인란을 표시합니다. 데이터가 없는 테이블이나 뷰에는 확인란을 사용할 수 없습니다.
다른 레코드 원본과 키가 같지만 동일한 데이터가 아닌 대상의 레코드 수를 표시합니다. 업데이트를 기록하거나 업데이트 스크립트를 내보낼 때, 업데이트를 위해 표시된 레코드 수는 괄호로 묶입니다.
원본에만 있음 대상에서 발생하지 않는 원본의 레코드 수를 표시합니다. 업데이트를 기록하거나 업데이트 스크립트를 내보낼 때, 추가 사항을 위해 표시된 레코드 수는 괄호로 묶입니다.
대상에만 있음 원본에서 발생하지 않는 대상의 레코드 수를 표시합니다. 업데이트를 기록하거나 업데이트 스크립트를 내보낼 때, 삭제 사항을 위해 표시된 레코드 수는 괄호로 묶입니다.
동일한 레코드 원본과 동일한 키와 동일한 데이터가 있는 대상의 레코드 수를 표시합니다. 이러한 레코드는 업데이트를 기록하거나 업데이트 스크립트를 내보낼 때 업데이트되지 않습니다.

테이블 및 보기 세부 정보

데이터 비교 창에서 테이블이나 보기를 클릭하면 세부 정보 창에 테이블 또는 뷰에 포함된 모든 행이 표시됩니다. 세부 정보 창의 각 탭에는 다른 범주가 표시됩니다(다른 레코드, 원본 한정, 대상 및 동일한 레코드 한정). 각 행에 대해 해당 확인란을 선택하거나 선택 취소하여 업데이트 스크립트의 변경 내용을 포함할지 여부를 나타낼 수 있습니다.

참고 항목

SQL Server Data Tools
방법: 스키마 비교를 사용하여 서로 다른 데이터베이스 정의 비교