다음을 통해 공유


방법: 데이터베이스 데이터 동기화

업데이트: 2007년 11월

두 데이터베이스의 데이터를 비교한 후 대상의 모두 또는 일부를 소스와 일치하도록 업데이트하여 동기화할 수 있습니다. 데이터를 비교할 수 있는 두 가지 종류의 데이터베이스 개체는 테이블과 뷰입니다.

데이터베이스 데이터 동기화

업데이트 쓰기 명령을 사용하여 대상 데이터를 업데이트하려면

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

    비교가 완료되면 데이터 비교 창에 비교된 개체에 대한 결과가 나열됩니다. 다른 레코드, 소스에서만, 대상에서만 및 동일한 레코드 열에 같지 않은 개체에 대한 정보가 표시됩니다. 각 해당 개체에 대해 이러한 네 개 열에 서로 다른 레코드 수 및 업데이트 작업에서 변경할 레코드 수가 표시됩니다. 처음에는 두 개의 숫자가 일치하지만 4단계에서 업데이트할 개체를 변경할 수 있습니다.

    자세한 내용은 데이터베이스 데이터 비교 개요를 참조하십시오.

  2. 데이터 비교 창의 테이블에서 행을 클릭합니다.

    세부 정보 창에 클릭한 데이터베이스 개체의 레코드에 대한 결과가 표시됩니다. 레코드는 상태별로 탭에 그룹화되어 있으며, 이러한 탭을 사용하여 소스에서 대상으로 전파될 데이터를 지정할 수 있습니다.

  3. 세부 정보 창에서 이름에 0이 아닌 숫자가 포함된 탭을 클릭합니다.

    대상에서만 테이블의 업데이트 열에는 행 선택에 사용할 수 있는 확인란이 있습니다. 각 확인란은 기본적으로 선택되어 있습니다.

  4. 소스 데이터를 사용하여 업데이트하지 않을 대상 레코드의 확인란을 선택 취소합니다.

    확인란의 선택을 취소하면 업데이트할 레코드 수가 감소하며 사용자 작업을 반영하여 표시가 변경됩니다. 1단계에서 설명한 것처럼 이 숫자는 세부 정보 창의 상태 줄과 주 결과 창의 해당 열에 나타납니다.

  5. (선택 사항) 편집기로 내보내기를 클릭합니다.

    T-SQL(Transact-SQL) 편집기 창이 열리고 대상 업데이트에 사용될 DML(데이터 조작 언어) 스크립트를 표시합니다.

  6. 서로 다르거나 누락되었거나 새로운 레코드를 동기화하려면 업데이트 쓰기를 클릭합니다.

    참고:

    대상 데이터베이스가 업데이트되는 동안 대상에 쓰기 중지를 클릭하여 작업을 취소할 수 있습니다.

    대상에서 선택한 레코드의 데이터가 소스의 해당 레코드 데이터를 사용하여 업데이트됩니다.

    참고:

    인덱싱된 뷰를 업데이트하도록 선택하면 이 작업으로 인해 같은 테이블에 중복 키가 삽입될 경우 업데이트 쓰기 작업이 실패할 수도 있습니다.

T-SQL 스크립트를 사용하여 대상 데이터를 업데이트하려면

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

    비교가 완료되면 데이터 비교 창의 테이블에 비교된 개체가 나열됩니다. 자세한 내용은 데이터베이스 데이터 비교 개요를 참조하십시오.

  2. (선택 사항) 이전 절차에서 설명한 것처럼 상제 정보 창에서 업데이트하지 않을 대상 레코드의 확인란을 선택 취소합니다.

  3. 편집기로 내보내기를 클릭합니다.

    대상 데이터를 소스 데이터와 일치시키는 데 필요한 변경 내용을 전파할 T-SQL 스크립트가 새 창에 표시됩니다. 새 창에는 Server.Database - DataUpdate_Database _1.sql과 같은 이름이 지정됩니다.

    이 스크립트는 상세 정보 창에서 변경한 내용을 반영합니다. 예를 들어 대상에서만 페이지에서 [dbo].[Shippers] 테이블에 대해 지정된 행의 확인란을 선택 취소했을 수 있습니다. 이 경우 스크립트에서 해당 행을 업데이트하지 않습니다.

  4. (선택 사항) Server.Database - DataUpdate_Database _1.sql 창에서 이 스크립트를 편집합니다.

  5. (선택 사항이지만 권장) 대상 데이터베이스를 백업합니다.

  6. SQL 실행을 클릭하거나 F5를 눌러 대상 데이터베이스를 업데이트합니다.

    중요:

    기본적으로 업데이트는 트랜잭션 범위 내에서 수행됩니다. 오류가 발생하면 전체 업데이트를 롤백할 수 있습니다. 이 동작은 변경할 수 있습니다. 자세한 내용은 방법: 데이터베이스 데이터 비교 옵션 설정을 참조하십시오.

    대상에서 선택한 레코드의 데이터가 소스의 해당 레코드 데이터를 사용하여 업데이트됩니다.

참고 항목

작업

방법: 두 데이터베이스의 데이터 비교

연습: 두 데이터베이스의 데이터 비교

개념

Database Edition의 용어 개요