내보내기(0) 인쇄
모두 확장

SQL 데이터 동기화(미리 보기)에 대한 유용한 정보

[이 항목은 시험판 설명서로, 이후 릴리스에서 변경될 수 있습니다.빈 항목이 자리 표시자로 포함되어 있습니다.]

 

SQL Azure 데이터 동기화 아이콘

SQL 데이터 동기화(미리 보기)에 오신 것을 환영합니다. 이 항목은 데이터 동기화 계획을 디자인하고 구현하기 전에 알아두어야 하는 5가지 항목 중 마지막입니다. 5가지 준비 항목은 다음과 같습니다.

Windows Azure Silverlight 포털의 Windows Azure SQL 데이터 동기화 플러그 인이 서비스 해제되었습니다.앞으로 Windows Azure SQL 데이터 동기화를 사용하려면 Windows Azure 관리 포털을 이용하십시오.

Windows Azure 관리 포털의 SQL 데이터베이스 아래에서 동기화 탭을 통해 SQL 데이터 동기화(미리 보기)에 액세스합니다.동기화 탭은 하나 이상의 동기화 그룹이 있는 경우에만 사용할 수 있습니다.이 포털에서 동기화 그룹을 만들고 수정하는 방법에 대한 지침은 방법:동기화 그룹 만들기(SDS) 항목을 참조하십시오.

시작하기 전에 읽어야 하는 항목과 동기화 그룹 만들기 및 수정에 대한 지침은 아래의 탐색 섹션을 참조하십시오.

항목

보안 및 안정성

에이전트

  • 네트워크 서비스 액세스 권한을 포함하는 최소 권한의 계정을 사용하여 클라이언트 에이전트를 설치합니다.

  • 클라이언트 에이전트가 내부 SQL Server 컴퓨터와 별개의 컴퓨터에 설치된 경우에 가장 좋습니다.

  • 내부 DB는 두 개 이상의 에이전트에 등록하지 마십시오.

    • 서로 다른 동기화 그룹에 대한 서로 다른 테이블을 동기화하는 경우에도 마찬가지입니다.

    • 내부 데이터베이스를 여러 클라이언트 에이전트에 등록할 경우 동기화 그룹 중 하나를 삭제할 때 문제가 발생합니다.

최소 권한의 데이터베이스 계정

  • 동기화 설정의 경우:
    테이블 만들기/수정 권한, 데이터베이스 수정 권한, 프로시저 만들기 권한, 스키마 선택/수정 권한, 사용자 정의 형식 만들기 권한

  • 지속적인 동기화의 경우:
    동기화하도록 선택한 테이블 및 동기화 메타데이터 및 추적 테이블에 대한 선택/삽입/업데이트/삭제 권한, 서비스로 만든 저장 프로시저에 대한 실행 권한, 사용자 정의된 테이블 형식에 대한 실행 권한

  • 프로비전 해제의 경우:
    동기화 중 테이블에 대한 수정 권한, 동기화 메타데이터 테이블에 대한 선택/삭제 권한, 동기화 추적 테이블, 저장 프로시저 및 사용자 정의된 형식에 대한 제어 권한

동기화 그룹의 DB에 대해 자격 증명이 하나만 있으므로 이 정보로는 무엇을 할 수 있습니까?

  • 다른 단계에 대해 자격 증명을 변경합니다(예: 설정의 경우 cred1 및 지속적인 동기화의 경우 cred2).

  • 자격 증명의 권한을 변경합니다(예: 동기화가 설정된 후 권한 변경).

허브 데이터베이스 위치

엔터프라이즈-클라우드 시나리오:

대기 시간을 최소화하기 위해 동기화 그룹의 데이터베이스 트래픽이 가장 집중된 곳에서 가까운 곳에 허브 데이터베이스를 유지합니다.

클라우드-클라우드 시나리오:

동기화 그룹의 모든 데이터베이스가 하나의 데이터 센터에 있으면 동일한 데이터 센터에 허브를 배치해야 합니다. 그러면 데이터 센터 간 데이터 전송 비용 및 대기 시간을 줄일 수 있습니다.

동기화 그룹의 데이터베이스가 여러 데이터 센터에 있으면 데이터베이스 및 데이터베이스 트래픽이 가장 많은 데이터 센터에 허브를 배치해야 합니다.

혼합된 시나리오:

위의 원칙을 보다 복잡한 동기화 그룹 구성에 적용합니다.

데이터베이스 고려 사항 및 제약 조건

  • SQL 데이터베이스 인스턴스 크기

    새 SQL 데이터베이스 인스턴스를 만들 때(https://manage.windowsazure.com) 사용자 지정 만들기를 선택하는 경우 항상 배포한 데이터베이스보다 크도록 최대 크기를 설정하십시오. 최대 크기를 배포한 데이터베이스보다 크게 설정하지 않으면 동기화에 실패합니다. 자동으로 확장되지 않는 경우 데이터베이스가 만들어진 후에 ALTER DATABASE를 사용하여 크기를 늘릴 수 있습니다. 물론 SQL 데이터베이스 인스턴스 크기 제한 내에 있어야 합니다.


    Important중요
    SQL 데이터 동기화(미리 보기)는 데이터베이스와 함께 추가 메타 데이터를 저장합니다. 따라서 필요한 공간을 계산할 때 이를 고려해야 합니다.
    추가되는 오버헤드의 양은 테이블의 너비(테이블 너비가 좁으면 더 많은 오버헤드가 필요)와 트래픽의 양에 따라 달라집니다.

  • 데이터베이스 차원에 대해 지원되는 제한 사항

     

    차원 제한

    데이터베이스, 테이블, 스키마 및 열 이름

    이름당 50자

    동기화 그룹의 테이블 수

    100

    동기화 그룹의 테이블에 있는 열 수

    1000

테이블 고려 사항 및 제약 조건

  • 테이블 선택

    데이터베이스의 모든 테이블이 동기화 그룹에 속해 있어야 하는 것은 아닙니다. 동기화 그룹에 포함할 테이블과 제외할 테이블(또는 다른 동기화 그룹에 포함할 테이블)의 선택은 효율성과 비용에 영향을 줄 수 있습니다. 따라서 비즈니스에 필요한 테이블과 여기에 종속된 테이블만 동기화 그룹에 포함하십시오.

  • 기본 키

    동기화 그룹의 각 테이블에는 기본 키가 있어야 합니다. SQL 데이터 동기화(미리 보기) 서비스는 기본 키가 없는 테이블을 동기화할 수 없습니다.

프로덕션으로 이전하기 전에 시나리오의 초기 및 지속적인 동기화 성능을 테스트합니다.

대상 데이터베이스 프로비전

SQL 데이터 동기화(미리 보기) 미리 보기는 기본 데이터베이스 자동 프로비전을 제공합니다.

이 섹션에서는 SQL 데이터 동기화(미리 보기) 프로비전의 제한 사항에 대해 설명합니다.

자동 프로비전 제한 사항

다음은 SQL 데이터 동기화(미리 보기) 자동 프로비전의 제한 사항입니다.

  • 선택한 열만 대상 테이블에 생성됩니다.
    따라서 일부 열이 동기화 그룹의 일부가 아닌 경우 해당 열은 대상 테이블에서 프로비전되지 않습니다.

  • 인덱스는 선택한 열에 대해서만 생성됩니다.
    원본 테이블 인덱스에 동기화 그룹에 속하지 않는 열이 있을 경우 해당 인덱스는 대상 테이블에서 프로비전되지 않습니다.

  • XML 형식 열의 인덱스는 프로비전되지 않습니다.

  • CHECK 제약 조건은 프로비전되지 않습니다.

  • 원본 테이블의 기존 트리거는 프로비전되지 않습니다.

  • 보기와 저장 프로시저는 대상 데이터베이스에 생성되지 않습니다.

권장 사항

  • 자동 프로비전 기능은 서비스를 시도하는 용도로만 사용하십시오.

  • 프로덕션의 경우 데이터베이스 스키마를 프로비전해야 합니다.

느리고 비용이 많이 드는 초기 동기화 방지

이 섹션에서는 동기화 그룹의 초기 동기화에 대해 설명하고 초기 동기화가 필요한 수준보다 오래 걸리고 비용이 많이 드는 것을 방지하기 위해 수행할 수 있는 작업을 살펴봅니다.

SQL 데이터 동기화(미리 보기)의 동작

동기화 그룹을 만들 때 한 데이터베이스의 데이터만 사용하여 시작합니다. 여러 데이터베이스의 데이터를 사용하는 경우 SQL 데이터 동기화(미리 보기)는 해결해야 하는 충돌로 각 행을 처리하므로 데이터베이스 크기에 따라 초기 동기화가 며칠에서 몇 개월까지 매우 느리게 진행됩니다.

또한 데이터베이스가 여러 데이터 센터에 있는 경우 각 행이 데이터 센터 간을 이동해야 하므로 초기 동기화의 비용이 필요한 수준보다 커집니다.

권장 사항

가능하면 동기화 그룹 데이터베이스 중 하나의 데이터만 사용하여 시작합니다.

동기화 일정 고려 사항

  • 비용

    SQL 데이터 동기화(미리 보기) 서비스는 현재 무료로 제공되지만 SQL 데이터베이스 데이터 센터에서 들어오고 나가는 데이터에는 SQL 데이터베이스 요금이 부과됩니다. 따라서 안정적이거나 자주(매일 또는 매주) 새로 고칠 필요가 없는 데이터가 포함된 테이블을 동기화해야 합니다. 시간이 중요한 데이터 또는 더욱 일시적인 데이터가 포함된 테이블은 자주 동기화하는 것이 좋습니다. 비즈니스 요구 사항을 분석하여 그에 따라 적절히 동기화 그룹 및 일정을 만드십시오.

    데이터가 데이터 센터 내부 및 외부로 전달될 때 송/수신 비용일 부과될 수도 있습니다.

  • 빈도

    동기화가 완료되지 않은 동기화 그룹을 동기화하려고 하면 작업이 시작되지 않습니다. 동기화가 수행되지 않았음을 시각적으로 확인할 수 있는 방법은 없습니다. 따라서 다른 동기화를 시도하기 전에 각 동기화가 완료되는 시간을 확보할 수 있도록 동기화를 예약하는 것이 좋습니다.

    예를 들면 다음과 같습니다.

    매 5분마다 동기화하도록 동기화 그룹을 예약(T0, T0+5, T0+10...)했지만 동기화를 완료하는 데 6분이 걸리는 경우에는 T0, T0+10, T0+20 등에서 동기화가 발생합니다. T0+5와 T0+15는 T0과 T0+10이 시간 내에 완료되지 않았으므로 실패합니다.

동기화 루프를 방지하기 위한 디자인

동기화 루프는 한 동기화 그룹 내에 순환 참조가 있어서 한 데이터베이스의 각 변경 사항이 이 동기화 그룹의 데이터베이스를 통해 순환하여 무한히 복제될 때 발생합니다. 동기화 루프는 성능 저하와 비용 증가의 원인이 될 수 있으므로 방지하는 것이 좋습니다.

동기화 루프에 대한 자세한 내용, 동기화 루프가 발생하는 디자인의 예 및 동기화 루프를 방지하기 위해 새로 디자인하는 방법에 대해 알아 보려면 동기화 루프 이해 및 방지를 참조하십시오.

날짜 지남 데이터베이스 및 동기화 그룹 방지

동기화 그룹 내의 데이터베이스 또는 동기화 그룹은 날짜가 지날 수 있습니다. 동기화 그룹의 상태가 "날짜 지남"이면 기능이 작동하지 않습니다. 데이터베이스의 상태가 "날짜 지남"인 경우 데이터가 손실될 수 있습니다. 이 상태에서 복구하는 것보다 이러한 상황을 방지하는 것이 가장 좋습니다.

날짜 지남 데이터베이스 방지

45일 이상 오프라인 상태인 데이터베이스는 상태가 "날짜 지남"으로 설정됩니다. 45일 이상 오프라인 상태로 유지된 데이터베이스가 없음을 확인하여 데이터베이스에서 "날짜 지남" 상태를 방지할 수 있습니다. 날짜 지남 상태인 데이터베이스에서 복구하는 방법은 데이터베이스가 "날짜 지남" 상태임 항목을 참조하십시오.

날짜 지남 동기화 그룹 방지

동기화 그룹 내의 임의의 변경 사항이 동기화 그룹의 나머지에 대해 45일 이상 전파되지 못하면 동기화 그룹이 날짜 지남으로 설정됩니다. 동기화 그룹의 이력 로그를 정기적으로 확인해서 모든 충돌을 해결하고 변경 사항이 동기화 그룹 데이터베이스 전체에 성공적으로 전파되는지 확인하여 동기화 그룹에서 날짜 지남 상태를 방지할 수 있습니다.

동기화 그룹이 변경 사항을 적용하지 못하는 이유는 다음과 같습니다.

날짜 지남 동기화 그룹은 다음과 같은 방법으로 방지할 수 있습니다.

날짜 지남 상태인 동기화 그룹에서 복구하는 방법은 동기화 그룹이 "날짜 지남" 상태임 항목을 참조하십시오.

프로비전 해제 문제 방지

특정 상황에서 클라이언트 에이전트에서 데이터베이스를 등록 취소하면 동기화가 실패할 수 있습니다.

시나리오:

  1. 로컬 에이전트 1과 연결된 내부 SQL Server 데이터베이스 및 SQL 데이터베이스 인스턴스를 사용하여 동기화 그룹 A를 만듭니다.

  2. 로컬 에이전트 2에 동일한 내부 데이터베이스가 등록됩니다(이 에이전트는 어떤 동기화 그룹과도 연결되어 있지 않습니다).

  3. 로컬 에이전트 2에서 내부 데이터베이스를 등록 취소하면 내부 데이터베이스에 대한 동기 그룹 A의 추적/메타 테이블이 제거됩니다.

  4. 이제 다음 오류가 발생하며 동기화 그룹 A 작업이 실패합니다.
    "The current operation could not be completed because the database is not provisioned for sync or you do not have permissions to the sync configuration tables."

솔루션:

  • 데이터베이스에 둘 이상의 에이전트를 등록하지 않으면 이 상황을 방지할 수 있습니다.

  • 이 상황에서 복구하려면:

    1. 데이터베이스가 속한 각 동기화 그룹에서 데이터베이스를 제거합니다.

    2. 방금 데이터베이스를 제거한 각 동기화 그룹에 데이터베이스를 다시 추가합니다.

    3. 영향을 받은(데이터베이스를 프로비전한) 각 동기화 그룹을 배포합니다.

전파되지 않는 변경 내용 처리

변경 내용이 전파되지 않는 이유

변경 내용은 여러 가지 이유로 인해 전파되지 않을 수 있습니다. 이러한 원인은 다음과 같습니다.

  • 스키마/데이터 형식이 호환되지 않는 경우

  • Null을 허용하지 않는 열에 Null을 삽입하려는 시도

  • 외래 키 제약 조건 위반

변경 내용이 전파되지 않을 경우 어떤 일이 발생합니까?

  • 동기화 그룹에서 경고 상태로 표시됩니다.

  • 자세한 내용이 포털 UI 로그 뷰어에 표시됩니다.

  • 문제가 45일 동안 해결되지 않을 경우 데이터베이스가 날짜 지남 상태가 됩니다.


    note참고
    이러한 변경 내용은 전파되지 않습니다. 유일한 복구 방법은 동기화 그룹을 다시 만드는 것입니다.

권장 사항

포털 및 로그 UI를 통해 동기화 그룹 및 데이터베이스 상태를 정기적으로 모니터링하십시오.

동기화 그룹 수정

먼저 변경 내용 중 하나를 배포하지 않고 동기화 그룹에서 데이터베이스를 제거하고 동기화 그룹을 편집하려고 시도하지 마십시오.

우선 동기화 그룹에서 데이터베이스를 제거합니다. 그런 다음 변경 내용을 배포하고 프로비전 해제가 완료될 때까지 기다립니다. 작업이 완료된 후에는 동기화 그룹을 편집하고 변경 내용을 배포할 수 있습니다.

먼저 변경 내용 중 하나를 배포하지 않고 데이터베이스를 제거하고 동기화 그룹을 편집하려고 시도할 경우 두 작업 중 하나가 실패하고 UI가 일관적이지 않은 상태가 될 수 있습니다. 하지만 이 경우 UI를 새로 고쳐서 올바른 상태로 복원할 수도 있습니다.

관련된 유용한 정보를 추가로 보려면 동기화 그룹 업데이트에 대한 유용한 정보를 참조하십시오.

탐색

SQL 데이터 동기화(미리 보기)는 SQL 데이터베이스의 기능입니다. Windows Azure 관리 포털에서 동기화 그룹을 만들고 배포하고 수정하는 데 필요한 모든 작업을 수행할 수 있습니다.

 

동기화 그룹을 만드는 방법

Windows Azure 관리 포털에서 동기화 그룹을 만들려면 6단계를 거쳐야 합니다. 각 단계에 대한 자세한 내용을 보려면 다음 링크를 클릭하십시오.

  1. Windows Azure SQL 데이터베이스 관리 포털에 로그인
    SQL 데이터 동기화(미리 보기)는 동기화 그룹을 만든 후에만 SQL 데이터베이스 아래에 탭으로 나타납니다.

  2. 방법: SQL 데이터 동기화(미리 보기) 클라이언트 에이전트 설치

  3. 방법: 클라이언트 에이전트에 SQL Server 데이터베이스 등록

  4. 방법: 동기화 그룹 만들기(SDS)

  5. 방법: 동기화 데이터 정의(SDS)

  6. 방법: 동기화 그룹 구성(SDS)

동기화 그룹을 수정하는 방법

동기화 그룹에서 테이블 또는 열을 추가/제거하거나 열의 너비 또는 데이터 형식을 변경하여 동기화 그룹의 스키마를 수정할 수 있습니다. 자세한 내용을 보려면 다음 링크를 클릭하십시오.

참고 항목

커뮤니티 추가 항목

추가
표시:
© 2014 Microsoft