다음을 통해 공유


데이터베이스 데이터 비교 개요

업데이트: 2007년 11월

데이터베이스 스키마 비교뿐만 아니라 같은 스키마를 가진 두 데이터베이스의 데이터를 비교할 수도 있습니다. 소스 데이터베이스의 일부 또는 모든 테이블 데이터와 일치하도록 대상 데이터베이스를 업데이트할 수 있습니다. 이 프로세스를 사용하여 소스 데이터베이스를 새로 배포된 빈 데이터베이스와 비교하고 대상 데이터베이스를 소스 데이터로 채울 수도 있습니다. 이 프로세스에서는 먼저 데이터베이스에 연결하고 소스 데이터와 대상 데이터를 비교한 다음 대상 데이터를 업데이트합니다.

예를 들어 데이터베이스 관리자는 팀 데이터베이스 프로젝트의 수명 주기를 감독할 수 있습니다. 데이터베이스 관리자 작업의 일부는 시험판 버전 테스트 데이터베이스와 성능 테스트 데이터베이스를 모두 준비하는 것입니다. 데이터베이스 관리자는 프로젝트를 진행하는 동안 정기적인 간격으로 두 데이터베이스를 동기화해야 합니다. 이 작업을 수행하기 위해 데이터베이스 관리자는 두 데이터베이스에 연결하고 시험판 버전 데이터베이스를 소스로 설정하며 Visual Studio Team System Database Edition을 사용하여 데이터를 비교합니다. 마지막으로 데이터베이스 관리자는 필요에 따라 성능 데이터베이스를 대상으로 업데이트합니다.

데이터를 비교하는 방법에 대한 자세한 내용은 다음 항목을 참조하십시오.

이 단원에서는 Database Edition을 사용하여 데이터를 비교하는 방법의 여러 부분에 대해 설명합니다.

데이터 비교 요구 사항

Database Edition에서는 테이블 및 뷰의 데이터를 비교합니다. 소스 데이터베이스에서 비교할 각 테이블 또는 뷰는 대상 데이터베이스의 테이블 또는 뷰와 여러 특성을 공유해야 합니다.

  • 테이블 및 뷰의 이름과 소유자가 같고 일치하는 스키마 또는 구조가 있어야 합니다.

    테이블, 뷰 및 소유자 이름은 대/소문자를 구분합니다. 데이터베이스 스키마에 대한 자세한 내용은 방법: 두 데이터베이스의 스키마 비교를 참조하십시오.

  • 테이블의 기본 키, 고유 인덱스 또는 UNIQUE 제약 조건이 같아야 합니다.

  • 뷰의 클러스터된 고유 인덱스가 같아야 합니다.

  • 이름이 같은 경우에만 테이블을 뷰와 비교할 수 있습니다.

    참고:

    이러한 조건에 맞지 않는 테이블과 뷰는 비교되지 않으며 새 데이터 비교 마법사의 두 번째 페이지에 나타나지 않습니다.

Database Edition에서는 키 또는 인덱스를 사용하여 서로 일치하는 개체를 결정합니다. 소스 데이터베이스의 테이블 또는 뷰에 대상 데이터베이스의 테이블 또는 뷰와 일치하는 여러 개의 기본 키, 고유 인덱스 또는 UNIQUE 제약 조건이 있는 경우 새 데이터 비교 마법사의 두 번째 페이지에서 비교 시 사용할 항목을 지정할 수 있습니다.

데이터베이스의 데이터를 비교한 후 결과를 보고 소스 데이터를 대상으로 전파할 수 있습니다. 자세한 내용은 방법: 데이터 차이 보기를 참조하십시오.

데이터 비교 제어

다음과 같은 방법으로 데이터 비교 프로세스를 제어할 수 있습니다.

  • 옵션 대화 상자를 통해 데이터 비교 및 결과 업데이트 스크립트를 구성할 수 있습니다. 자세한 내용은 방법: 데이터베이스 데이터 비교 옵션 설정을 참조하십시오.

  • 비교할 테이블 또는 뷰를 지정할 수 있습니다. 데이터 비교 마법사의 첫 번째 페이지에서 비교할 데이터베이스를 지정하고 연결합니다. 비교 결과에 포함할 레코드를 구성할 수도 있습니다. 두 번째 페이지에서는 비교할 데이터베이스 내의 테이블 하위 집합을 지정할 수 있습니다. 두 데이터베이스에서 클러스터된 고유 인덱스가 같고, 두 데이터베이스 및 뷰에서 기본 키, 고유 인덱스 또는 UNIQUE 제약 조건이 같은 테이블만 목록에 나타납니다.

  • 진행하는 동안 비교를 중지할 수 있습니다. 비교를 중지하면 데이터 비교 창에 해당 지점까지 비교된 테이블 및 뷰에 대한 결과가 표시됩니다. 중지한 지점에서 비교를 다시 시작할 수는 없지만 비교를 새로 고쳐 처음부터 다시 시작할 수 있습니다.

자세한 내용은 방법: 두 데이터베이스의 데이터 비교를 참조하십시오.

데이터 비교 결과 보기

데이터 비교 창은 Visual Studio의 주 편집 영역을 사용합니다. 이 창에는 두 데이터베이스의 테이블 및 뷰에 대한 비교 결과가 표시됩니다. 다음 표에 설명된 것처럼 비교된 각 개체에 대한 결과 및 제안된 업데이트 작업이 표시됩니다.

결과 형식

설명

동일한 레코드

소스 개체 및 대상 개체의 모든 레코드가 동일합니다.

다른 레코드

소스 개체 및 대상 개체의 레코드가 하나 이상 다릅니다.

소스에서만

하나 이상의 레코드가 소스 개체에는 있지만 대상 개체에 없습니다.

대상에서만

하나 이상의 레코드가 대상 개체에는 있지만 소스에 없습니다.

원하지 않는 범주를 필터링하여 이러한 결과의 하위 집합을 표시할 수 있습니다. 예를 들어 데이터베이스 간에 서로 다른 레코드만 표시하거나 대상에는 있지만 소스에 없는 레코드만 표시할 수 있습니다. 레코드 뷰 창에는 특정 데이터베이스 개체에 대한 결과가 결과 형식별로 표시됩니다. 자세한 내용은 방법: 데이터 차이 보기를 참조하십시오.

비교가 완료되면 대상 데이터베이스의 레코드를 업데이트할 때 실행하는 DML(데이터 조작 언어) 스크립트가 데이터 스크립트 미리 보기 창에 표시됩니다.

비교 결과 새로 고침

비교를 시작하기 전에 특정 데이터베이스에 연결하고 필요한 경우 비교할 데이터베이스 내의 특정 개체를 선택하여 비교를 구성합니다. 새로 고침을 클릭하면 같은 조건을 사용하여 다시 데이터베이스를 비교할 수 있습니다. 이 작업은 데이터베이스를 마지막으로 비교한 이후 변경되었는지 여부에 따라 데이터베이스의 현재 상태를 표시합니다.

마지막으로 비교한 이후 소스 데이터베이스, 대상 데이터베이스 또는 둘 다에 테이블이 추가된 경우 해당 테이블은 새 데이터 비교를 시작할 때까지 나타나지 않습니다. 기존 세션을 새로 고치는 경우 변경 내용이 반영되지 않습니다.

대상 데이터베이스의 데이터 업데이트

데이터를 비교한 후 소스 데이터베이스의 데이터를 사용하여 대상 데이터베이스의 데이터를 업데이트할 수 있습니다. 데이터베이스의 모든 개체를 업데이트하거나 선택한 개체 또는 선택한 개체의 선택한 레코드만 업데이트할 수 있습니다.

개체 열의 확인란이 선택된 경우 업데이트 쓰기를 클릭하면 대상 데이터베이스에서 해당 개체가 업데이트됩니다. 대상 데이터베이스에 해당 레코드를 쓰지 않으려면 개체의 확인란을 선택 취소합니다.

업데이트할 개체 및 레코드를 지정하는 방법에 대한 자세한 내용은 방법: 데이터베이스 데이터 동기화를 참조하십시오.

참고 항목

기타 리소스

데이터베이스 스키마 비교 개요