다음을 통해 공유


Sync Framework에서 지원하는 데이터베이스 개체

이 항목에서는 데이터베이스 동기화에 대한 Sync Framework 지원을 설명합니다.

피어 투 피어 동기화

  • DbSyncProvider는 테이블 동기화를 지원하며, Customer 테이블 앞에 Sales 스키마 또는 소유자가 오는 Sales.Customer 등의 스키마 정규화 개체를 지원합니다.

  • 피어 투 피어 동기화에서는 피어 데이터베이스의 자동 초기화를 제공하지 않습니다. 따라서 동기화 중에 테이블이 피어 데이터베이스에 복사되지 않습니다. 피어 초기화에 대한 자세한 내용은 방법: 공동 작업 동기화 구성 및 실행(SQL Server 이외)에서 "서버 데이터베이스 초기화"를 참조하십시오.

클라이언트 및 서버 동기화

  • DbServerSyncProvider는 모든 유형의 동기화에 대해 서버 데이터베이스의 테이블을 지원합니다. 그리고 스냅숏 및 다운로드 전용 동기화에 대해 뷰가 지원됩니다. 클라이언트의 단일 테이블은 서버의 여러 테이블에 있는 데이터를 포함할 수 있습니다. 자세한 내용은 방법: 클라이언트에 데이터 뷰 만들기를 참조하십시오.

  • 데이터가 서버에서 저장되거나 표현되는 방식에 관계없이 SQL Server Compact는 클라이언트에서 데이터를 테이블에 저장합니다.

  • SQL Server Compact는 Customer 테이블 앞에 Sales 스키마 또는 소유자가 오는 Sales.Customer 등의 스키마 정규화 개체를 지원하지 않습니다. AdventureWorks 샘플 데이터베이스의 Sales.Customer 테이블을 동기화하려면 TableNameCustomer 값을 지정합니다.

  • 기본적으로 FOREIGN KEY 제약 조건, UNIQUE 제약 조건, DEFAULT 제약 조건 및 SQL Server ROWGUIDCOL 속성은 클라이언트 데이터베이스에 복사되지 않습니다. 이러한 개체가 클라이언트 데이터베이스에 필요한 경우에는 SQL을 사용하여 추가하거나 SyncSchema 개체에 추가합니다. 자세한 내용은 방법: 클라이언트 데이터베이스 초기화 및 테이블 스키마 사용을 참조하십시오.

  • Sync Framework는 서버에서 대/소문자를 구분하는 데이터 정렬을 지원하지만 다음과 같은 제한이 있습니다.

    • 고유 인덱스나 제약 조건이 있는 기본 키 열에 VALUE1 및 value1과 같이 대/소문자만 다른 값이 포함될 수 없습니다.

    • TABLE1table1과 같이 대/소문자만 다른 데이터베이스 개체의 동기화는 지원되지 않습니다.

  • 서버의 데이터베이스는 여러 동기화 세션에 참가할 수 있습니다. 그러나 데이터베이스의 개체는 특정 클라이언트에 대해 한 번에 하나의 동기화 세션에만 참가할 수 있습니다. 테이블을 동기화 중일 때 해당 테이블에 대해 Synchronize 메서드를 다시 호출하면 Sync Framework에서 예외를 throw합니다. 클라이언트 데이터베이스는 한 번의 하나의 동기화 세션만 지원합니다.

참고 항목

개념

응용 프로그램 디자인 및 배포 고려 사항