Sync Framework 2.1에는 다음과 같은 영역의 새로운 기능과 향상된 기능이 포함되어 있습니다.
데이터베이스 공급자
SQL Azure 동기화
응용 프로그램 일괄 변경
매개 변수 기반 필터링
범위 및 템플릿 제거
메타데이터 형식 업그레이드
SQL Server Compact 3.5 SP2 호환성
사용되지 않는 멤버
주요 변경 내용
데이터베이스 공급자
Sync Framework 2.1에는 컴퓨터의 SQL Server 또는 SQL Server Compact 데이터베이스를 SQL Azure 데이터베이스와 동기화하는 데 사용할 수 있는 새로운 기능이 추가되었습니다. 또한 이 릴리스에는 매개 변수 기반 필터링 기능 및 데이터베이스에서 동기화 범위 및 템플릿을 제거할 수 있는 기능이 추가되었으며 더 빠르고 쉽게 동기화를 수행할 수 있도록 성능도 향상되었습니다.
SQL Azure 동기화
Sync Framework 2.1에서는 Windows Azure Platform 및 SQL Azure Database를 활용하여 데이터의 범위를 웹으로 확장할 수 있습니다. 회사의 SQL Server 데이터베이스를 SQL Azure와 동기화하면 고객에게 내부 SQL Server 데이터베이스에 대한 연결을 제공하지 않고도 웹에서 데이터의 일부 또는 전부를 제공할 수 있습니다. 동기화하도록 SQL Azure 데이터베이스를 구성하면 사용자는 데이터를 오프라인으로 전환하여 SQL Server Compact 또는 SQL Server Express와 같은 클라이언트 데이터베이스에 저장할 수 있습니다. 이렇게 하면 연결이 끊긴 동안에도 응용 프로그램이 작동하며 고객은 네트워크 연결이 안정적이지 않더라도 업무를 계속 수행할 수 있습니다. 데이터의 최신 변경 내용을 다시 SQL Azure 데이터베이스와 동기화한 다음 내부 SQL Server 데이터베이스와 동기화할 수 있습니다. Sync Framework 2.1에는 Windows Azure 및 SQL Azure 공유 환경과의 원활한 상호 작용을 지원하는 기능도 포함되어 있습니다. 성능 향상, 트랜잭션 최대 크기를 정의하여 제한 방지, 트랜잭션 자동 재시도(Windows Azure에 의해 제한되는 경우) 등의 기능이 여기에 해당합니다. 이러한 작업은 모두 SQL Server 데이터베이스를 동기화하는 데 사용하는 SqlSyncProvider 및 SqlSyncScopeProvisioning 개체를 사용하여 수행할 수 있으므로 Sync Framework에 대한 기존 지식을 활용하여 SQL Azure와 손쉽게 동기화할 수 있습니다.
Sync Framework를 사용하면 여러 가지 방식으로 융통성 있게 동기화 커뮤니티를 구성할 수 있지만 일반적으로 2계층 아키텍처 또는 N계층 아키텍처라는 두 가지 방법을 사용합니다.
2계층 아키텍처: Sync Framework가 로컬 컴퓨터에서 실행되고 SqlSyncProvider 개체를 사용하여 SQL Azure 데이터베이스에 직접 연결합니다. 인터넷 정보 서비스(IIS)와 같은 웹 서버 또는 중간 계층을 경유하지 않습니다. 자세한 내용은 방법: SQL Azure와의 동기화 구성 및 실행을 참조하십시오.
N계층 아키텍처: Sync Framework 데이터베이스 공급자가 Windows Azure에서 호스팅하는 서비스에서 실행되고 로컬 컴퓨터에서 실행되는 프록시 공급자와 통신합니다. 자세한 내용은 방법: Windows Azure에 Sync Framework 배포를 참조하십시오.
응용 프로그램 일괄 변경
Sync Framework 2.1에서는 SQL Server 2008 및 SQL Azure의 테이블 반환 매개 변수 기능을 사용하고 단일 저장 프로시저 호출을 통해 여러 개의 삽입, 업데이트 및 삭제 작업을 적용할 수 있으므로 각각의 변경을 적용하기 위해 별도로 저장 프로시저를 호출할 필요가 없습니다. 따라서 이러한 작업의 성능이 크게 향상되고 변경 내용을 적용하는 동안 클라이언트와 서버 사이의 왕복 횟수가 줄어듭니다. 대량 프로시저는 SQL Server 2008 또는 SQL Azure 데이터베이스를 프로비전할 때 기본적으로 만들어집니다. 자세한 내용은 방법: 동기화 범위와 템플릿 프로비전 및 프로비전 해제(SQL Server) 또는 성능 튜닝 및 모니터링을 참조하십시오.
매개 변수 기반 필터링
Sync Framework 2.1에서는 동기화되는 데이터를 제어하는 매개 변수 기반 필터를 만들 수 있습니다. 매개 변수 기반 필터는 특히 사용자 ID나 지역과 같이 여러 가지 값을 포함할 수 있는 필드나 둘 이상의 필드 조합을 기준으로 데이터를 필터링하려는 경우에 특히 유용합니다. 매개 변수 기반 필터는 두 단계로 만들어집니다. 먼저 필터 및 범위 템플릿이 정의됩니다. 그 다음 필터 매개 변수의 특정 값이 포함된 필터링된 범위가 만들어집니다. 이 두 단계로 구성된 절차에는 다음과 같은 이점이 있습니다.
설정이 간편합니다. 필터 템플릿을 한 번만 정의합니다. 필터 템플릿을 만드는 작업이 데이터베이스 서버의 저장 프로시저에 대한 권한을 필요로 하는 유일한 작업입니다. 이 단계는 일반적으로 데이터베이스 관리자가 수행합니다.
구독이 간편합니다. 고객은 매개 변수 값을 지정하여 필터링된 범위를 본인에게 필요한 대로 만들고 구독할 수 있습니다. 이 단계에서는 데이터베이스 서버의 동기화 테이블에 행을 삽입할 수 있는 권한만 있으면 됩니다. 이 단계는 사용자가 수행할 수 있습니다.
**유지 관리가 간편합니다.**여러 매개 변수가 결합되어 있고 필터링된 범위를 많이 만든 경우에도 매개 변수 기반 단일 프로시저를 사용하여 변경 사항을 열거하기 때문에 유지 관리가 간단합니다.
자세한 내용은 방법: 데이터베이스 동기화를 위한 데이터 필터링(SQL Server)을 참조하십시오.
범위 및 템플릿 제거
Sync Framework 2.1에는 동기화하도록 프로비전된 데이터베이스에서 동기화 요소를 손쉽게 제거하는 데 사용할 수 있는 SqlSyncScopeDeprovisioning 및 SqlCeSyncScopeDeprovisioning 클래스가 추가되었습니다. 이러한 클래스를 사용하여 범위, 필터 템플릿, 관련 메타데이터 테이블, 트리거 및 저장 프로시저를 데이터베이스에서 제거할 수 있습니다. 자세한 내용은 방법: 동기화 범위와 템플릿 프로비전 및 프로비전 해제(SQL Server)를 참조하십시오.
메타데이터 형식 업그레이드
데이터베이스 공급자의 메타데이터 형식이 Sync Framework 2.1에서 변경되었습니다. 새 메타데이터 형식은 이전 버전의 데이터베이스 공급자와 호환되지 않습니다. 새 메타데이터 형식으로의 업그레이드는 실행 취소할 수 없으며 2.1 형식의 데이터베이스를 동기화하기 위해 이전 버전의 데이터베이스 공급자를 사용하려고 하면 Sync Framework에서 예외를 발생시킵니다. 그러나 Sync Framework 2.1의 SqlSyncProvider 클래스는 메타데이터가 2.0 형식인지 또는 2.1 형식인지를 감지하고 이전 버전과의 호환성 모드에서 작동하여 2.0 형식의 메타데이터가 포함된 데이터베이스를 동기화합니다. Sync Framework에서는 2.0 형식의 데이터베이스와 2.0 또는 2.1 형식의 데이터베이스를 동기화할 수 있습니다. 따라서 동기화 커뮤니티의 모든 데이터베이스를 동시에 업그레이드할 필요는 없습니다. 예를 들어 N 계층 아키텍처에서는 서버 Sync Framework 구성 요소와 데이터베이스 메타데이터 형식을 업그레이드하고 Sync Framework 2.0을 사용하는 클라이언트와 계속해서 동기화할 수 있습니다. 클라이언트는 편리할 때 업그레이드할 수 있습니다.
이전 버전과의 호환성 및 버전 상호 운용성에 대한 자세한 내용은 Sync Framework 이전 버전과의 호환성 및 상호 운용성을 참조하십시오.
동기화 커뮤니티의 데이터베이스를 업그레이드하는 방법은 데이터베이스 동기화 커뮤니티 업그레이드를 참조하십시오.
SQL Server Compact 3.5 SP2 호환성
Sync Framework 2.1 SqlCeSyncProvider 데이터베이스 공급자 개체는 SQL Server Compact 3.5 SP2를 사용합니다. 기존 SQL Server Compact 데이터베이스는 Sync Framework에서 데이터베이스에 연결할 때 자동으로 업그레이드됩니다. 무엇보다도 SQL Server Compact 3.5 SP2에서는 테이블의 변경 내용 추적을 구성, 활성화 및 비활성화하고 테이블의 변경 내용 추적 데이터에 액세스하는 기능을 제공하는 변경 내용 추적 API를 사용할 수 있습니다. SQL Server Compact 3.5 SP2는 여기에서 다운로드할 수 있습니다.
사용되지 않는 멤버
다음과 같은 멤버는 이제 사용되지 않으므로 새로운 개발에는 사용하지 않아야 합니다. 이러한 멤버는 Sync Framework 2.1에서는 계속 예상대로 작동하지만 최신 버전에서는 제거되었을 수 있습니다.
관리 코드의 사용되지 않는 멤버
SqlConnection 매개 변수가 없는 SqlSyncScopeProvisioning 클래스의 생성자인 SqlSyncScopeProvisioning 및 SqlSyncScopeProvisioning. 대신 SqlConnection 매개 변수가 있는 생성자(예: SqlSyncScopeProvisioning)를 사용하십시오. 또한 이 생성자의 사용되지 않는 버전을 사용할 경우 Sync Framework에서SQL Server 2005 데이터베이스 버전으로 간주하여 삽입, 업데이트 및 삭제를 위한 대량 프로시저 사용을 비활성화합니다.
SqlConnection또는 데이터베이스 이름 매개 변수가 있는 SqlSyncScopeProvisioning 클래스의 메서드인 Apply, ScopeExists 및 Script. 대신 SqlSyncScopeProvisioning 생성자에서 연결을 설정하고 연결 매개 변수가 없는 메서드인 Apply, ScopeExists 및 Script를 사용하십시오.
SqlCeConnection 매개 변수가 없는 SqlCeSyncScopeProvisioning 클래스의 생성자인 SqlCeSyncScopeProvisioning 및 SqlCeSyncScopeProvisioning. 대신 SqlCeConnection 매개 변수가 있는 생성자(예: SqlCeSyncScopeProvisioning)를 사용하십시오.
SqlCeConnection 매개 변수가 있는 SqlCeSyncScopeProvisioning 클래스의 메서드인 Apply 및 ScopeExists. 대신 SqlCeSyncScopeProvisioning 생성자에서 연결을 설정하고 연결 매개 변수가 없는 메서드인 Apply 및 ScopeExists를 사용하십시오.
주요 변경 내용
Sync Framework 2.0과 Sync Framework 2.1 간에 다음과 같은 내용이 변경되었습니다.
Microsoft.Synchronization.Data.SqlServerCe 네임스페이스의 데이터베이스 공급자 클래스를 사용하려면 SQL Server Compact 3.5 SP2가 있어야 합니다. 잘못된 버전의 SQL Server Compact가 설치되어 있을 경우 SQL Server Compact 데이터베이스에 연결하려고 하면 Sync Framework 메서드가 예외를 발생시킵니다. 이전 버전의 Sync Framework과 동기화되는 기존 데이터베이스가 있을 경우 Sync Framework 및 SQL Server Compact를 업그레이드하고 Sync Framework 메서드를 사용하여 데이터베이스에 연결하면 데이터베이스가 자동으로 업데이트됩니다. 자세한 내용은 SQL Server Compact 업그레이드를 참조하십시오.
SqlSyncScopeProvisioning 개체를 사용하여 SQL Server 데이터베이스를 프로비전할 때 테이블과 프로시저를 만드는 기본 옵션이 Create에서 CreateOrUseExisting으로 변경되었습니다. 만들기 옵션에 새 값을 지정하지 않고 데이터베이스를 프로비전할 경우 테이블과 프로시저가 데이터베이스에 없으면 새로 생성됩니다.