복제 스크립팅

적용 대상:SQL ServerAzure SQL Managed Instance

토폴로지의 모든 복제 구성 요소는 재해 복구 계획의 일부로 스크립팅되어야 하며 반복 태스크를 자동화하는 데도 스크립트를 사용할 수 있습니다. 스크립트에는 게시 또는 구독과 같은 스크립팅된 복제 구성 요소를 구현하는 데 필요한 Transact-SQL 시스템 저장 프로시저가 포함되어 있습니다. 구성 요소를 만든 후 마법사(예: 새 게시 마법사) 또는 Microsoft SQL Server Management Studio에서 스크립트를 만들 수 있습니다. SQL Server Management Studio 또는 sqlcmd를 사용하여 스크립트를 보고 수정하고 실행할 수 있습니다. 백업 파일과 함께 스크립트를 저장하여 복제 토폴로지를 다시 구성할 때 사용할 수 있습니다.

속성 변경 내용이 적용되면 구성 요소를 다시 스크립팅해야 합니다. 트랜잭션 복제본(replica)과 함께 사용자 지정 저장 프로시저를 사용하는 경우 각 프로시저의 복사본을 스크립트와 함께 저장해야 합니다. 프로시저가 변경되면 복사본을 업데이트해야 합니다(일반적으로 스키마 변경 또는 애플리케이션 요구 사항 변경으로 인해 프로시저가 업데이트됨). 사용자 지정 프로시저에 대한 자세한 내용은 트랜잭션 아티클에 대한 변경 내용을 전파하는 방법 지정을 참조하세요.

매개 변수가 있는 필터를 사용하는 병합 게시의 경우 게시 스크립트에는 데이터 파티션을 만들기 위한 저장 프로시저 호출이 포함됩니다. 스크립트는 만든 파티션에 대한 참조와 필요한 경우 하나 이상의 파티션을 다시 만드는 방법을 제공합니다.

스크립트로 태스크를 자동화하는 예

원격 영업 인력에 데이터를 배포하기 위해 병합 복제본(replica)tion을 구현하는 Adventure Works Cycles를 고려해 보세요. 영업 담당자는 끌어오기 구독을 사용하여 해당 지역의 고객과 관련된 모든 데이터를 다운로드합니다. 오프라인으로 작업할 때 영업 담당자는 데이터를 업데이트하고 새 고객과 주문을 입력합니다. Adventure Works Cycles에는 서로 다른 지역에 50명 이상의 영업 담당자가 있기 때문에 새 구독 마법사를 사용하여 각 구독자에서 서로 다른 구독을 만드는 데 시간이 오래 걸립니다. 대신 복제본(replica) 관리자는 다음 단계를 수행할 수 있습니다.

  1. 판매 담당자 또는 해당 지역을 기반으로 하여 파티션이 있는 필수 병합 게시를 설정합니다.

  2. 한 구독자에 대한 끌어오기 구독을 만듭니다.

  3. 해당 끌어오기 구독에 따라 스크립트를 생성합니다.

  4. 구독자 이름과 같은 값을 변경하여 스크립트를 수정합니다.

  5. 여러 구독자에서 스크립트를 실행하여 필요한 끌어오기 구독을 생성합니다.

복제 개체 스크립션

복제본(replica)tion 마법사 또는 Microsoft SQL Server Management Studio의 복제 폴더에서 복제본(replica)tion 개체를 스크립션합니다. 마법사에서 스크립트를 작성하는 경우 개체를 만들고 스크립깅하도록 선택하거나 스크립깅하도록 선택할 수 있습니다.

Important

모든 암호는 NULL로 스크립깅됩니다. 가능한 경우 런타임 시 사용자에게 보안 자격 증명을 입력하라는 메시지가 표시됩니다. 스크립트 파일에 자격 증명을 저장하는 경우에는 무단으로 액세스하지 못하도록 파일에 보안을 설정해야 합니다.

복제본(replica) 마법사 사용에 대한 자세한 내용은 다음을 참조하세요.

복제본(replica)tion 마법사에서 개체를 스크립션하려면

  1. 마법사의 마법사 작업 페이지에서 마법사에 적합한 검사 상자를 선택합니다.

    • 게시를 만드는 단계가 포함된 스크립트 파일 생성

    • 구독을 만드는 단계가 포함된 스크립트 파일 생성

    • 배포 구성 단계를 포함하는 스크립트 파일 생성

  2. 스크립트 파일 속성 페이지에서 옵션을 지정합니다.

  3. 마법사를 완료합니다.

Management Studio에서 개체를 스크립깅하려면

  1. Management Studio에서 배포자, 게시자 또는 구독자에 커넥트 서버 노드를 확장합니다.

  2. 복제 폴더를 확장한 다음 로컬 게시 폴더 또는 로컬 구독 폴더를 확장합니다.

  3. 게시 또는 구독을 마우스 오른쪽 단추로 클릭한 다음 스크립트 생성을 클릭합니다.

  4. SQL 스크립트 생성 - <ReplicationObject> 대화 상자에서 옵션을 지정합니다.

  5. 파일로 스크립트를 클릭합니다.

  6. 스크립트 파일 위치 대화 상자에 파일 이름을 입력한 다음 저장을 클릭합니다. 상태 메시지가 표시됩니다.

  7. 확인을 클릭한 다음 닫기를 클릭합니다.

Management Studio에서 여러 개체를 스크립션하려면

  1. Management Studio에서 배포자, 게시자 또는 구독자에 커넥트 서버 노드를 확장합니다.

  2. 복제 폴더를 마우스 오른쪽 단추로 클릭한 다음 스크립트 생성을 클릭합니다.

  3. SQL 스크립트 생성 대화 상자에서 옵션을 지정합니다.

  4. 파일로 스크립트를 클릭합니다.

  5. 스크립트 파일 위치 대화 상자에 파일 이름을 입력한 다음 저장을 클릭합니다. 상태 메시지가 표시됩니다.

  6. 확인을 클릭한 다음 닫기를 클릭합니다.