자습서: sql Server for 복제본(replica)tion(게시자, 배포자, 구독자) 준비

적용 대상:SQL Server

복제본(replica)tion 토폴로지 구성 전에 보안을 계획하는 것이 중요합니다. 이 자습서에서는 복제 토폴로지의 보안을 강화하는 방법에 대해 설명합니다. 또한 데이터를 복제본(replica) 첫 번째 단계인 배포를 구성하는 방법도 보여 집니다. 다른 자습서를 사용하기 전에 먼저 이 자습서를 완료해야 합니다.

참고 항목

서버 간 데이터를 안전하게 복제하려면 복제 보안을 위한 최선의 구현 방법의 모든 권장 사항을 구현해야 합니다.

학습할 내용

이 자습서에서는 최소 권한으로 복제본(replica) 안전하게 실행할 수 있도록 서버를 준비하는 방법을 설명합니다.

이 자습서에서는 다음을 수행하는 방법을 배우게 됩니다.

  • 복제용 Windows 계정을 만듭니다.
  • 스냅샷 폴더를 준비합니다.
  • 배포를 구성합니다.

필수 조건

이 자습서는 기본 데이터베이스 작업에 익숙하지만 복제본(replica) 노출이 제한된 사용자를 위한 것입니다.

이 자습서를 완료하려면 SQL Server, SSMS(SQL Server Management Studio) 및 AdventureWorks 데이터베이스가 필요합니다.

  • 게시자 서버(원본)에서 다음을 설치합니다.

    • SQL Server Express 또는 SQL Server Compact를 제외한 모든 버전의 SQL Server. 이들 버전은 복제 게시자가 될 수 없습니다.
    • 샘플 데이터베이스입니다 AdventureWorks2022 . 보안을 강화하기 위해 샘플 데이터베이스는 기본적으로 설치되지 않습니다.
  • 구독자 서버(대상)에서 SQL Server Compact를 제외한 모든 버전의 SQL Server를 설치합니다. SQL Server Compact는 트랜잭션 복제본(replica) 구독자가 될 수 없습니다.

  • SQL Server Management Studio를 설치합니다.

  • SQL Server 2017 Developer Edition을 설치 합니다.

  • AdventureWorks 샘플 데이터베이스를 다운로드합니다. SSMS에서 데이터베이스를 복원하는 방법에 대한 지침은 데이터베이스 복원을 참조하세요.

참고 항목

  • 두 개 이상의 버전이 떨어져 있는 SQL Server 인스턴스에서는 복제가 지원되지 않습니다. 자세한 내용은 복제 토폴로지에서 지원되는 SQL Server 버전을 참조 하세요.
  • SQL Server Management Studio에서 sysadmin 고정 서버 역할의 멤버인 로그인을 사용하여 게시자 및 구독자에 연결해야 합니다. 이 역할에 대한 자세한 내용은 서버 수준 역할을 참조 하세요.

이 자습서를 완료하는 데 소요되는 예상 시간: 30분

복제본(replica)용 Windows 계정 만들기

이 섹션에서는 windows 계정을 만들어 복제본(replica) 에이전트를 실행합니다. 다음 에이전트에 대해 로컬 서버에 별도의 Windows 계정을 만듭니다.

에이전트 위치 계정 이름
스냅샷 에이전트 게시자 <>machine_name\repl_스냅샷
로그 판독기 에이전트 게시자 <>machine_name\repl_logreader
배포 에이전트 게시자 및 구독자 <>machine_name\repl_distribution
병합 에이전트 게시자 및 구독자 <>machine_name\repl_merge

참고 항목

복제본(replica)tion 자습서에서 게시자와 배포자는 SQL Server의 동일한 인스턴스(NODE1\SQL2016)를 공유합니다. 구독자 인스턴스(NODE2\SQL2016)가 원격입니다. 게시자와 구독자는 SQL Server의 동일한 인스턴스를 공유할 수 있지만 요구 사항은 아닙니다. 게시자와 구독자가 같은 인스턴스를 공유하는 경우 구독자에서는 계정을 만드는 단계를 수행하지 않아도 됩니다.

게시자에서 복제본(replica) 에이전트에 대한 로컬 Windows 계정 만들기

  1. 게시자에서 제어판 관리istrative Tools에서 컴퓨터 관리를 엽니다.

  2. 시스템 도구에서 로컬 사용자 및 그룹을 확장합니다.

  3. 사용자를 마우스 오른쪽 단추로 클릭한 다음, 새 사용자를 선택합니다.

  4. 사용자 이름 상자에 repl_스냅샷입력하고 암호 및 기타 관련 정보를 입력한 다음 만들기를 선택하여 repl_스냅샷 계정을 만듭니다.

  5. 이전 단계를 반복하여 repl_logreader, repl_distribution 및 repl_merge 계정을 만듭니다.

    List of replication users

  6. 닫기를 선택합니다.

구독자에서 복제본(replica) 에이전트에 대한 로컬 Windows 계정 만들기

  1. 구독자에서 제어판 관리Istrative Tools에서 컴퓨터 관리를 엽니다.

  2. 시스템 도구에서 로컬 사용자 및 그룹을 확장합니다.

  3. 사용자를 마우스 오른쪽 단추로 클릭한 다음, 새 사용자를 선택합니다.

  4. 사용자 이름 상자에 repl_distribution을 입력하고, 암호 및 다른 관련 정보를 입력한 다음, 만들기를 선택하여 repl_distribution 계정을 만듭니다.

  5. 이전 단계를 반복하여 repl_merge 계정을 만듭니다.

  6. 닫기를 선택합니다.

자세한 내용은 복제 에이전트 개요를 참조하세요.

스냅샷 폴더 준비

이 섹션에서는 게시 스냅샷 만들고 저장하는 데 사용되는 스냅샷 폴더를 구성합니다.

스냅샷 폴더에 대한 공유 만들기 및 권한 할당

  1. 파일 탐색기 SQL Server 데이터 폴더로 이동합니다. 기본 위치는 C:\Program Files\Microsoft SQL Server\MSSQL입니다. X\MSSQL\Data.

  2. repldata라는 새 폴더를 만듭니다.

  3. 이 폴더를 마우스 오른쪽 단추로 클릭하고 속성을 선택합니다.

    a. repldata 속성 대화 상자의 공유 탭에서 고급 공유를 선택합니다.

    b. 고급 공유 대화 상자에서 이 폴더 공유를 선택한 다음 사용 권한을 선택합니다.

    Selections for sharing the repldata folder

  4. repldata에 대한 사용 권한 대화 상자에서 추가를 선택합니다. 사용자, 컴퓨터, 서비스 계정 또는 그룹 선택 상자에 이전에< 만든 스냅샷 에이전트 계정의 이름을 Publisher_Machine_Name\repl_스냅샷> 입력합니다. 이름 확인을 선택한 다음, 확인을 선택합니다.

    Selections to add sharing permissions

  5. 6단계를 반복하여 이전에 <만든 다른 두 계정인 Publisher_Machine_Name\repl_merge>< Publisher_Machine_Name>\repl_distribution 추가합니다.

  6. 세 개의 계정을 추가한 후 다음 권한을 할당합니다.

    • repl_distribution: 읽기
    • repl_merge: 읽기
    • repl_스냅샷: 모든 권한

    Shared permissions for each account

  7. 공유 권한이 올바르게 구성된 후 확인을 선택하여 repldata의 사용 권한 대화 상자를 닫습니다. 확인을 선택하여 고급 공유 대화 상자를 닫습니다.

  8. repldata 속성 대화 상자에서 보안 탭을 선택하고 편집을 선택합니다.

  9. repldata에 대한 사용 권한 대화 상자에서 추가를 선택합니다. 사용자, 컴퓨터, 서비스 계정 또는 그룹 선택 상자에 이전에< 만든 스냅샷 에이전트 계정의 이름을 Publisher_Machine_Name\repl_스냅샷> 입력합니다. 이름 확인을 선택한 다음, 확인을 선택합니다.

    Selections to add security permissions

  10. 이전 단계를 반복하여 배포 에이전트 권한을 Publisher_Machine_Name<\repl_distribution>, 병합 에이전트< Publisher_Machine_Name\repl_merge> 추가합니다.

  11. 다음 권한이 허용되는지 확인합니다.

    • repl_distribution: 읽기
    • repl_merge: 읽기
    • repl_스냅샷: 모든 권한

    User permissions for replication data

  12. 공유 탭을 다시 선택하고 공유에 대한 네트워크 경로를 기록합니다. 이 경로는 나중에 스냅샷 폴더를 구성할 때 필요합니다.

    Network path on the

  13. 확인을 선택하여 repldata 속성 대화 상자를 닫습니다.

자세한 내용은 스냅샷 폴더 보안을 참조하세요.

배포 구성

이 섹션에서는 게시자에서 배포를 구성하고 게시 및 배포 데이터베이스에 대한 필수 사용 권한을 설정합니다. 배포자를 이미 구성한 경우 이 섹션을 시작하기 전에 게시 및 배포를 사용하지 않도록 설정해야 합니다. 특히 프로덕션 환경에서 기존 복제본(replica) 토폴로지를 유지해야 하는 경우에는 이 작업을 수행하지 마세요.

원격 배포자를 사용한 게시자 구성은 이 자습서의 범위를 벗어납니다.

게시자에서 배포 구성

  1. SQL Server Management Studio에서 게시자에 커넥트 서버 노드를 확장합니다.

  2. 복제 폴더를 마우스 오른쪽 단추로 클릭하고 배포 구성을 선택합니다.

    참고 항목

    • 실제 서버 이름이 아닌 localhost를 사용하여 SQL Server에 연결한 경우 SQL Server가 localhost 또는 IP 주소연결할 수 없다는 경고 메시지가 표시됩니다. 경고 대화 상자에서 확인을 선택합니다. 서버로 커넥트 대화 상자에서 서버 이름을 localhost 또는 IP 주소에서 서버 이름으로 변경합니다. 그런 다음 연결을 선택합니다.
    • 현재 SSMS(SQL Server Management Studio) 18.0 이상에서는 IP 주소를 사용하여 배포자에 연결할 때 경고 메시지가 표시되지 않지만 여전히 유효하지 않은 알려진 문제가 있습니다. 배포자에 연결할 때 실제 서버 이름을 사용해야 합니다.

    배포 구성 마법사가 시작됩니다.

  3. 배포자 페이지에서 'ServerName'>을 선택하면 <자체 배포자로 작동합니다. SQL Server는 배포 데이터베이스 및 로그를 만듭니다. 그런 후 다음을 선택합니다.

    Option to make the server act as its own distributor

  4. SQL Server 에이전트 실행되고 있지 않으면 SQL Server 에이전트 시작 페이지에서 예를 선택하고 SQL Server 에이전트 서비스를 자동으로 시작하도록 구성합니다. 다음을 선택합니다.

  5. 스냅샷 폴더 상자에 \\<Publisher_Machine_Name>\repldata 경로를 입력하고 다음을 선택합니다. 이 경로는 공유 속성을 구성한 후 repldata 속성 폴더의 네트워크 경로에서 이전의 본 것과 일치해야 합니다.

    Comparison of network paths in the

  6. 마법사의 다시 기본 페이지에서 기본값을 적용합니다.

    Last page of the wizard

  7. 마침을 선택하여 배포를 사용하도록 설정합니다.

배포자를 구성할 때 다음 오류가 표시될 수 있습니다. SQL Server 에이전트 계정을 시작하는 데 사용된 계정이 시스템의 관리자가 아님을 나타냅니다. SQL Server 에이전트 수동으로 시작하거나, 기존 계정에 해당 권한을 부여하거나, SQL Server 에이전트 사용 중인 계정을 수정해야 합니다.

Error message for configuring the SQL Server Agent

SQL Server Management Studio 인스턴스가 관리 권한으로 실행되는 경우 SSMS 내에서 SQL 에이전트를 수동으로 시작할 수 있습니다.

Selecting

참고 항목

SQL 에이전트가 시각적으로 시작되지 않으면 SSMS에서 SQL Server 에이전트를 마우스 오른쪽 단추로 클릭하고 새로 고침을 클릭합니다. 여전히 중지된 상태인 경우 SQL Server 구성 관리자 수동으로 시작합니다.

데이터베이스 사용 권한 설정

  1. SQL Server Management Studio에서 보안을 확장하고 로그인을 마우스 오른쪽 단추로 클릭한 다음 새 로그인을 선택합니다.

  2. 일반 페이지에서 검색을 선택합니다. 선택할 개체 이름 입력 상자에 Publisher_Machine_Name>\repl_스냅샷입력<하고 이름 확인을 선택한 다음 확인을 선택합니다.

    Selections for entering the object name

  3. 사용자 매핑 페이지의 이 로그인 목록에 매핑된 사용자에서 배포AdventureWorks2022 데이터베이스를 모두 선택합니다.

    데이터베이스 역할 멤버 자격 목록에서 두 데이터베이스의 로그인에 대한 db_owner 역할을 선택합니다.

    Selecting the databases and their role

  4. 확인을 선택하여 로그인을 만듭니다.

  5. 1-4단계를 반복하여 다른 로컬 계정(repl_distribution, repl_logreader 및 repl_merge)에 대한 로그인을 만듭니다. 이러한 로그인은 배포AdventureWorks 데이터베이스에서 db_owner 고정 데이터베이스 역할의 멤버인 사용자에게도 매핑되어야 합니다.

    View of all four accounts in Object Explorer

자세한 내용은 다음을 참조하세요.

다음 단계

이제 서버를 복제본(replica) 준비했습니다. 다음 문서에서는 트랜잭션 복제본(replica) 구성하는 방법을 설명합니다.