병합 복제에 대한 웹 동기화
적용 대상: SQL Server
병합 복제를 위한 웹 동기화를 사용하면 HTTPS 프로토콜을 사용하여 데이터를 복제할 수 있으며 다음 시나리오에 유용합니다.
인터넷을 통해 모바일 사용자의 데이터를 동기화합니다.
회사 방화벽에서 Microsoft SQL Server 데이터베이스 간의 데이터 동기화
예를 들어 여행 영업 담당자는 웹 동기화를 사용할 수 있습니다. Adventure Works Cycles라는 회사에는 지역 곳곳에 위치한 여러 매장과 공급업체를 방문하는 영업 담당자가 있습니다. 장기간 출장의 경우, 담당자는 호텔에 머무르며 판매 데이터를 업로드하고 매일 끝날 때 제품 업데이트를 다운로드하는 편리한 방법이 필요합니다.
Adventure Works IT 부서는 SQL Server를 사용하여 각 휴대용 컴퓨터를 구성했으며 웹 동기화를 사용하도록 병합 복제를 사용하도록 설정했습니다. 각 휴대용 컴퓨터의 병합 에이전트에는 Microsoft 인터넷 정보 서비스(IIS)를 실행하는 컴퓨터에 설치된 복제 구성 요소를 가리키는 인터넷 URL이 있습니다. 이러한 구성 요소는 구독자를 게시자와 동기화합니다. 각 담당자는 이제 원격 전화 접속 연결을 사용하지 않고도 사용 가능한 임의의 인터넷 연결을 통해 연결을 설정하여 해당 데이터를 업로드 및 다운로드할 수 있습니다. 인터넷 연결은 이전에는 SSL(Secure Sockets Layer)로 알려진 TLS(전송 계층 보안)을 사용하므로 VPN(가상 프라이빗 네트워크)이 필요하지 않습니다.
웹 동기화에 필요한 구성 요소를 구성하는 방법은 웹 동기화 구성, 웹 동기화를 위한 IIS 구성 및 웹 동기화를 위한 IIS 7 구성을 참조하세요.
참고 항목
웹 동기화는 데이터를 휴대용 컴퓨터, 핸드헬드 디바이스 및 기타 클라이언트와 동기화하기 위해 디자인되었으며 웹 동기화는 대용량 서버 간 애플리케이션을 위한 것이 아닙니다.
웹 동기화의 작동 방식 개요
웹 동기화를 사용하면 구독자의 업데이트가 패키지되고 HTTPS 프로토콜을 사용하여 IIS를 실행하는 컴퓨터에 XML 메시지로 전송됩니다. IIS를 실행하는 컴퓨터는 일반적으로 TCP/IP를 사용하여 이진 형식으로 게시자에 명령을 보냅니다. 게시자의 업데이트는 IIS를 실행하는 컴퓨터로 전송된 다음 구독자에게 배달하기 위한 XML 메시지로 패키지됩니다.
다음 그림에서는 병합 복제를 위해 웹 동기화에 관련된 일부 구성 요소를 보여 줍니다.
웹 동기화는 끌어오기 구독에만 사용할 수 있는 옵션입니다. 따라서 병합 에이전트는 항상 구독자에서 실행됩니다. 이 병합 에이전트는 표준 병합 에이전트, 병합 에이전트 ActiveX 컨트롤 또는 RMO(복제 관리 개체)를 통해 동기화를 제공하는 애플리케이션일 수 있습니다. IIS를 실행하는 컴퓨터의 위치를 지정하려면 병합 에이전트에 –InternetUrl 매개 변수를 사용합니다.
SQL Server 복제 수신기(replisapi.dll)는 IIS를 실행하는 컴퓨터에 구성되어 있으며 게시자와 구독자에서 서버로 전송된 메시지를 처리합니다. 토폴로지의 각 노드는 병합 복제 조정자(Replrec.dll)를 사용하여 XML 데이터 스트림을 처리합니다.
웹 동기화에 참여하는 모든 컴퓨터에 SQL Server 2005(9.x) 이상 버전이 필요합니다.
동기화 프로세스
동기화 중에 다음 단계가 수행됩니다.
병합 에이전트가 구독자에서 시작됩니다. 에이전트는 다음을 수행합니다.
구독 데이터베이스에 대한 SQL 연결을 만듭니다.
데이터베이스에서 변경 내용을 추출합니다.
IIS를 실행하는 컴퓨터에 대한 HTTPS 요청을 만듭니다.
데이터 변경 내용을 XML 메시지로 업로드합니다.
IIS를 실행하는 컴퓨터에 호스팅되는 SQL Server 복제 수신기 및 병합 복제 조정자는 다음을 수행합니다.
HTTPS 요청에 응답합니다.
게시 데이터베이스에 대한 SQL 연결을 만듭니다.
게시 데이터베이스에 업로드 변경 내용을 적용합니다.
구독자에 대한 다운로드 변경 내용을 추출합니다.
HTTPS 응답을 병합 에이전트 다시 보냅니다.
그러면 구독자의 병합 에이전트가 HTTPS 응답을 수락하고 다운로드 변경 내용을 구독 데이터베이스에 적용합니다.