Configuration Manager 관리 지점에 대한 데이터베이스 복제본

적용 대상: Configuration Manager(현재 분기)

Configuration Manager 기본 사이트는 데이터베이스 복제본(replica) 사용하여 클라이언트의 요청을 처리할 때 관리 지점별로 사이트 데이터베이스 서버에 배치되는 CPU 부하를 줄일 수 있습니다. 관리 지점에서 데이터베이스 복제본(replica) 사용하는 경우 사이트 데이터베이스 서버 대신 데이터베이스 복제본(replica) 호스트하는 SQL Server 컴퓨터에서 데이터를 요청합니다.

이 구성은 클라이언트와 관련된 빈번한 처리 작업을 오프로드하여 사이트 데이터베이스 서버의 CPU 처리 요구 사항을 줄이는 데 도움이 될 수 있습니다. 클라이언트에 대한 빈번한 처리 작업의 예로는 클라이언트 정책에 대해 자주 요청하는 클라이언트 수가 많은 사이트가 포함됩니다.

정보

  • 복제본은 별도의 SQL Server instance 복제하는 사이트 데이터베이스의 부분 복사본입니다.

    • 기본 사이트는 사이트의 각 관리 지점에 대한 전용 데이터베이스 복제본(replica) 지원합니다.

    • 보조 사이트는 데이터베이스 복제본을 지원하지 않습니다.

    • 단일 데이터베이스 복제본(replica) 동일한 사이트에서 둘 이상의 관리 지점에서 사용할 수 있습니다.

    • SQL Server SQL Server 별도의 instance 실행되는 한 여러 관리 지점에서 사용할 여러 데이터베이스 복제본을 호스트할 수 있습니다.

  • 복제본은 이 목적을 위해 사이트의 데이터베이스 서버가 게시하는 데이터의 고정된 일정에 따라 사이트 데이터베이스의 복사본을 동기화합니다.

  • 복제본(replica) 설치할 때 또는 나중에 사용하도록 관리 지점을 구성할 수 있습니다. 기존 관리 지점의 경우 데이터베이스 복제본(replica) 사용하도록 다시 구성합니다.

  • 사이트 데이터베이스 서버와 각 데이터베이스 복제본(replica) 서버를 정기적으로 모니터링하여 해당 서버 간에 복제가 발생하는지 확인합니다. 데이터베이스 복제본(replica) 서버의 성능이 필요한 사이트 및 클라이언트 성능에 충분한지 확인합니다.

필수 구성 요소

SQL Server 요구 사항

  • 데이터베이스 복제본(replica) 호스트하는 SQL Server 사이트 데이터베이스 서버와 동일한 요구 사항이 있습니다. 복제본(replica) 서버는 지원되는 버전 및 버전의 SQL Server 실행하는 한 사이트 데이터베이스 서버와 동일한 버전의 SQL Server 실행할 필요가 없습니다. 자세한 내용은 SQL Server 버전 지원을 참조하세요.

  • 복제본(replica) 데이터베이스를 호스트하는 컴퓨터의 SQL Server 서비스는 시스템 계정으로 실행되어야 합니다.

  • 사이트 데이터베이스를 호스트하고 데이터베이스 복제본(replica) 호스트하는 SQL Server 모두 SQL Server 복제가 설치되어 있어야 합니다.

  • 사이트 데이터베이스는 데이터베이스 복제본(replica) 게시해야 하며 각 원격 데이터베이스 복제본(replica) 서버는 게시된 데이터를 구독해야 합니다.

  • 최대 텍스트 리플 크기 2GB를 지원하도록 두 SQL Server를 모두 구성합니다. SQL Server 대해 이 설정을 구성하는 방법에 대한 자세한 내용은 최대 텍스트 리플 크기 서버 구성 옵션 구성을 참조하세요.

자체 서명된 인증서

데이터베이스 복제본(replica) 구성하려면 데이터베이스 복제본(replica) 서버에 자체 서명된 인증서를 만듭니다. 해당 데이터베이스 복제본(replica) 서버를 사용할 각 관리 지점에서 이 인증서를 사용할 수 있도록 합니다.

  • 인증서는 데이터베이스 복제본(replica) 서버에 설치된 관리 지점에서 자동으로 사용할 수 있습니다.

  • 이 인증서를 원격 관리 지점에서 사용할 수 있도록 하려면 먼저 인증서를 내보냅니다. 그런 다음 원격 관리 지점의 신뢰할 수 있는 사람 인증서 저장소에 추가합니다.

클라이언트 알림

관리 지점에 대한 데이터베이스 복제본(replica) 클라이언트 알림을 지원하려면 SQL Server Service Broker에 대한 사이트 데이터베이스 서버와 데이터베이스 복제본(replica) 서버 간의 통신을 구성합니다.

  • 다른 데이터베이스에 대한 정보를 사용하여 각 데이터베이스를 구성합니다.

  • 보안 통신을 위해 두 데이터베이스 간에 인증서를 교환합니다.

제한 사항

  • 데이터베이스 복제본을 게시하도록 사이트를 구성할 때는 일반적인 지침 대신 다음 절차를 사용합니다.

  • 소프트웨어 센터의 사용자 배포는 SQL Server 복제본(replica) 사용하는 관리 지점에서 작동하지 않습니다.

  • Configuration Manager 현재 분기로 업그레이드: 사이트를 업그레이드하기 전에 System Center 2012 Configuration Manager Configuration Manager 현재 분기 또는 업데이트 Configuration Manager 최신 릴리스에 대한 현재 분기, 관리 지점에 대한 데이터베이스 복제본을 사용하지 않도록 설정합니다. 사이트를 업그레이드한 후 관리 지점에 대한 데이터베이스 복제본을 다시 구성할 수 있습니다.

  • 단일 SQL Server 여러 복제본: 관리 지점에 대해 여러 데이터베이스 복제본을 호스트하도록 데이터베이스 복제본(replica) 서버의 별도 인스턴스를 구성하는 경우 수정된 구성 스크립트를 사용합니다. 데이터베이스 복제본 구성 프로세스의 4단계에서 설명한 것처럼 이 작업을 수행하면 해당 서버에서 이전에 구성된 데이터베이스 복제본에서 사용 중인 자체 서명된 인증서를 덮어쓰지 않습니다.

구성하기

데이터베이스 복제본(replica) 구성하려면 다음 단계가 필요합니다.

1단계 - 데이터베이스를 게시하도록 사이트 데이터베이스 서버를 구성합니다복제본(replica)

데이터베이스 복제본(replica) 게시하도록 사이트 데이터베이스 서버를 구성하는 방법의 예로 다음 절차를 사용합니다. 특정 단계는 Windows Server 버전에 따라 달라질 수 있습니다.

사이트 데이터베이스 서버에서 다음 단계를 수행합니다.

  1. SQL Server 에이전트 자동으로 시작하도록 설정합니다.

  2. 이름이 ConfigMgr_MPReplicaAccess 로컬 사용자 그룹을 만듭니다. 이 사이트에서 사용하는 각 데이터베이스 복제본(replica) 서버에 대해 해당 컴퓨터 계정을 이 그룹에 추가합니다. 이 작업을 사용하면 해당 데이터베이스 복제본(replica) 서버가 게시된 데이터베이스 복제본(replica) 동기화할 수 있습니다.

    참고

    이 목적을 위해 도메인 그룹을 만들 수도 있습니다.

  3. ConfigMgr_MPReplica 이름으로 파일 공유를 구성합니다.

  4. ConfigMgr_MPReplica 공유에 다음 권한을 추가합니다.

    참고

    SQL Server 에이전트 로컬 시스템 계정 이외의 계정을 사용하는 경우 다음 목록에서 SYSTEM을 해당 계정 이름으로 바꿉 있습니다.

    • 공유 권한:

      • 시스템: 변경

      • ConfigMgr_MPReplicaAccess: 읽기

    • NTFS 권한:

      • 시스템: 모든 권한

      • ConfigMgr_MPReplicaAccess: 읽기, 읽기 & 실행폴더 내용 나열

  5. SQL Server Management Studio 사용하여 사이트 데이터베이스에 연결하고 다음 저장 프로시저를 쿼리로 실행합니다.spCreateMPReplicaPublication

    참고

    로컬 그룹 대신 도메인 그룹을 사용하는 경우 이 SQL 문을 다음으로 변경합니다. EXEC spCreateMPReplicaPublication N'<DomainName>\ConfigMgr_MPReplicaAccess'

저장 프로시저가 완료되면 사이트 데이터베이스 서버가 데이터베이스 복제본(replica) 게시하도록 구성됩니다.

2단계 - 데이터베이스 복제본(replica) 서버 구성

데이터베이스 복제본(replica) 서버를 구성하는 방법의 예로 다음 절차를 사용합니다. 특정 단계는 Windows Server 버전에 따라 달라질 수 있습니다.

데이터베이스 복제본(replica) 서버에서 다음 단계를 수행합니다.

  1. SQL Server 에이전트 자동 시작으로 설정합니다.

  2. SQL Server Management Studio 사용하여 로컬 서버에 연결합니다. 복제 폴더로 이동하여 로컬 구독을 선택한 다음, 새 구독을 선택합니다. 이 작업은 새 구독 마법사를 시작합니다.

    1. 게시 페이지에서 SQL Server 게시자 찾기를 선택합니다. 사이트 데이터베이스 서버의 이름을 입력한 다음 연결을 선택합니다.

    2. ConfigMgr_MPReplica 선택한 다음, 다음을 선택합니다.

    3. 배포 에이전트 위치 페이지에서 구독자(끌어오기 구독)에서 각 에이전트 실행을 선택한 다음, 다음을 선택합니다.

    4. 구독자 페이지에서 다음 작업 중 하나를 수행합니다.

      • 데이터베이스 복제본(replica) 사용할 데이터베이스 복제본(replica) 서버에서 기존 데이터베이스를 선택한 다음 확인을 선택합니다.

      • 새 데이터베이스를 선택하여 데이터베이스 복제본(replica) 대한 새 데이터베이스를 만듭니다. 새 데이터베이스 페이지에서 데이터베이스 이름을 지정한 다음 확인을 선택합니다.

    5. 다음을 선택하여 계속합니다.

    6. 배포 에이전트 보안 페이지에서 대화 상자의 구독자 연결 행에서 속성 단추(...)를 선택합니다. 그런 다음 연결에 대한 보안 설정을 구성합니다.

      속성 단추 (...)는 표시 상자의 네 번째 열에 있습니다.

    • 배포 에이전트 프로세스(프로세스 계정)를 실행하는 계정을 구성합니다.

      • SQL Server 에이전트 로컬 시스템으로 실행되는 경우 SQL Server 에이전트 서비스 계정에서 실행을 선택합니다(권장되는 보안 모범 사례는 아님).

      • 다른 계정을 사용하여 SQL Server 에이전트 실행되는 경우 다음 Windows 계정에서 실행을 선택한 다음 해당 계정을 구성합니다. Windows 계정 또는 SQL Server 계정을 지정할 수 있습니다.

      중요

      게시자에 배포 에이전트 권한을 실행하는 계정에 끌어오기 구독으로 부여합니다. 이러한 권한을 구성하는 방법에 대한 자세한 내용은 배포 에이전트 보안을 참조하세요.

    • 배포자에 연결에서프로세스 계정을 가장하여 선택합니다.

    • 구독자에 연결에서프로세스 계정을 가장하여 선택합니다.

      연결 보안 설정을 구성한 후 확인을 선택하여 저장한 다음, 다음을 선택합니다.

    1. 동기화 일정 페이지에서 일정 정의를 선택한 다음, 새 작업 일정을 구성합니다. 빈도를 매일 발생하도록 설정하고, 5분마다 되풀이하고, 종료 날짜가 없는 기간을 설정합니다. 다음을 선택하여 일정을 저장한 다음, 다음을 다시 선택합니다.

    2. 마법사 작업 페이지에서 구독 만들기 옵션을 사용하도록 설정하고 다음을 선택합니다.

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

  3. 새 구독 마법사를 완료한 직후 SQL Server Management Studio 사용하여 데이터베이스 복제본(replica) 서버 데이터베이스에 연결합니다. 다음 쿼리를 실행하여 TRUSTWORTHY 데이터베이스 속성을 사용하도록 설정합니다. ALTER DATABASE <MP Replica Database Name> SET TRUSTWORTHY ON;

  4. 동기화 상태 검토하여 구독이 성공적인지 확인합니다.

    • 구독자 컴퓨터에서 다음을 수행합니다.

      • SQL Server Management Studio 데이터베이스 복제본(replica) 서버에 연결하고 복제를 확장합니다.

      • 로컬 구독을 확장하고 사이트 데이터베이스 게시에 대한 구독을 마우스 오른쪽 단추로 클릭한 다음 동기화 상태 보기를 선택합니다.

    • 게시자 컴퓨터에서 다음을 수행합니다.

      • SQL Server Management Studio 사이트 데이터베이스 컴퓨터에 연결하고 복제 폴더를 마우스 오른쪽 단추로 클릭한 다음 복제 모니터 시작을 선택합니다.
  5. 데이터베이스 복제본(replica) CLR(공용 언어 런타임) 통합을 사용하도록 설정하려면 SQL Server Management Studio 사용하여 데이터베이스 복제본(replica) 서버의 데이터베이스 복제본(replica) 연결합니다. 다음 저장 프로시저를 쿼리로 실행합니다. exec sp_configure 'clr enabled', 1; RECONFIGURE WITH OVERRIDE

  6. 데이터베이스 복제본(replica) 서버를 사용하는 각 관리 지점에 대해 해당 데이터베이스 복제본(replica) 서버의 로컬 관리자 그룹에 해당 관리 지점 컴퓨터 계정을 추가합니다.

    이 단계는 데이터베이스 복제본(replica) 서버에서 실행되는 관리 지점에 필요하지 않습니다.

이제 데이터베이스 복제본(replica) 관리 지점에서 사용할 준비가 되었습니다.

3단계 - 데이터베이스 복제본(replica) 사용하도록 관리 지점 구성

관리 지점 역할을 설치할 때 데이터베이스 복제본(replica) 사용하도록 기본 사이트에서 관리 지점을 구성하거나 데이터베이스 복제본(replica) 사용하도록 기존 관리 지점을 다시 구성할 수 있습니다.

다음 정보를 사용하여 데이터베이스 복제본(replica) 사용하도록 관리 지점을 구성합니다.

  • 새 관리 지점을 구성하려면 다음을 수행합니다.

    1. 관리 지점을 설치하려면 마법사의 관리 지점 데이터베이스 페이지에서 데이터베이스 복제본(replica) 사용을 선택합니다.
    2. 데이터베이스 복제본(replica) 호스트하는 컴퓨터의 FQDN을 지정합니다.
    3. ConfigMgr 사이트 데이터베이스 이름의 경우 해당 컴퓨터에서 데이터베이스 복제본(replica) 데이터베이스 이름을 지정합니다.
  • 이전에 설치된 관리 지점을 구성하려면 다음을 수행합니다.

    1. 관리 지점의 속성 페이지를 열고 관리 지점 데이터베이스 탭으로 전환합니다.
    2. 데이터베이스 복제본(replica) 사용을 선택한 다음 데이터베이스 복제본(replica) 호스트하는 컴퓨터의 FQDN을 지정합니다.
    3. 그런 다음 ConfigMgr 사이트 데이터베이스 이름에 대해 해당 컴퓨터에서 복제본(replica) 데이터베이스의 데이터베이스 이름을 지정합니다.

데이터베이스 복제본(replica) 사용하는 각 관리 지점에 대해 관리 지점 서버의 컴퓨터 계정을 데이터베이스 복제본(replica) 대한 db_datareader 역할에 수동으로 추가합니다.

데이터베이스 복제본(replica) 서버를 사용하도록 관리 지점을 구성하는 것 외에도 관리 지점에서 IIS에서 Windows 인증을 사용하도록 설정합니다.

  1. IIS(인터넷 정보 서비스) 관리자를 엽니다.

  2. 관리 지점에서 사용하는 웹 사이트를 선택하고 인증을 엽니다.

  3. Windows 인증사용으로 설정한 다음 IIS(인터넷 정보 서비스) 관리자를 닫습니다.

4단계 - 데이터베이스 복제본(replica) 서버에 대한 자체 서명된 인증서 구성

데이터베이스 복제본(replica) 서버에서 자체 서명된 인증서를 구성하는 방법의 예로 다음 절차를 사용합니다. 특정 단계는 Windows Server 버전에 따라 달라질 수 있습니다.

데이터베이스 복제본(replica) 서버에 대한 자체 서명된 인증서 구성

  1. 데이터베이스 복제본(replica) 서버에서 관리 권한으로 PowerShell 명령 프롬프트를 열고 다음 명령을 실행합니다.Set-ExecutionPolicy Unrestricted

  2. 다음 PowerShell 스크립트를 복사 하고 이름이CreateMPReplicaCert.ps1파일로 저장합니다. 데이터베이스 복제본(replica) 서버의 시스템 파티션 루트 폴더에 이 파일의 복사본을 배치합니다.

    중요

    단일 SQL Server 둘 이상의 데이터베이스 복제본(replica) 구성하는 경우 구성하는 각 후속 복제본(replica) 대해 이 절차에서 이 스크립트의 수정된 버전을 사용합니다. 자세한 내용은 단일 SQL Server 추가 데이터베이스 복제본에 대한 추가 스크립트를 참조하세요.

    # Script for creating a self-signed certificate for the local machine and configuring SQL Server to use it.  
    
    Param($SQLInstance)  
    
    $ConfigMgrCertFriendlyName = "ConfigMgr SQL Server Identification Certificate"  
    
    # Get local computer name  
    $computerName = "$env:computername"  
    
    # Get the SQL Server name  
    #$key="HKLM:\SOFTWARE\Microsoft\SMS\MP"  
    #$value="SQL Server Name"  
    #$sqlServerName= (Get-ItemProperty $key).$value  
    #$dbValue="Database Name"  
    #$sqlInstance_DB_Name= (Get-ItemProperty $key).$dbValue  
    
    $sqlServerName = [System.Net.Dns]::GetHostByName("localhost").HostName   
    $sqlInstanceName = "MSSQLSERVER"  
    $SQLServiceName = "MSSQLSERVER"  
    
    if ($SQLInstance -ne $Null)  
    {  
        $sqlInstanceName = $SQLInstance  
        $SQLServiceName = "MSSQL$" + $SQLInstance  
    }  
    
    # Delete existing cert if one exists  
    function Get-Certificate($storename, $storelocation)  
    {   
        $store=new-object System.Security.Cryptography.X509Certificates.X509Store($storename,$storelocation)   
        $store.Open([Security.Cryptography.X509Certificates.OpenFlags]::ReadWrite)   
        $store.Certificates   
    }   
    
    $cert = Get-Certificate "My" "LocalMachine" | ?{$_.FriendlyName -eq $ConfigMgrCertFriendlyName}   
    if($cert -is [Object])  
    {  
        $store = new-object System.Security.Cryptography.X509Certificates.X509Store("My","LocalMachine")   
        $store.Open([Security.Cryptography.X509Certificates.OpenFlags]::ReadWrite)   
        $store.Remove($cert)  
        $store.Close()  
    
        # Remove this cert from Trusted People too...  
        $store = new-object System.Security.Cryptography.X509Certificates.X509Store("TrustedPeople","LocalMachine")   
        $store.Open([Security.Cryptography.X509Certificates.OpenFlags]::ReadWrite)   
        $store.Remove($cert)  
        $store.Close()      
    }  
    
    # Create the new cert  
    $name = new-object -com "X509Enrollment.CX500DistinguishedName.1"  
    $name.Encode("CN=" + $sqlServerName, 0)  
    
    $key = new-object -com "X509Enrollment.CX509PrivateKey.1"  
    $key.ProviderName = "Microsoft RSA SChannel Cryptographic Provider"  
    $key.KeySpec = 1  
    $key.Length = 1024  
    $key.SecurityDescriptor = "D:PAI(A;;0xd01f01ff;;;SY)(A;;0xd01f01ff;;;BA)(A;;0x80120089;;;NS)"  
    $key.MachineContext = 1  
    $key.Create()  
    
    $serverauthoid = new-object -com "X509Enrollment.CObjectId.1"  
    $serverauthoid.InitializeFromValue("1.3.6.1.5.5.7.3.1")  
    $ekuoids = new-object -com "X509Enrollment.CObjectIds.1"  
    $ekuoids.add($serverauthoid)  
    $ekuext = new-object -com "X509Enrollment.CX509ExtensionEnhancedKeyUsage.1"  
    $ekuext.InitializeEncode($ekuoids)  
    
    $cert = new-object -com "X509Enrollment.CX509CertificateRequestCertificate.1"  
    $cert.InitializeFromPrivateKey(2, $key, "")  
    $cert.Subject = $name  
    $cert.Issuer = $cert.Subject  
    $cert.NotBefore = get-date  
    $cert.NotAfter = $cert.NotBefore.AddDays(3650)  
    $cert.X509Extensions.Add($ekuext)  
    $cert.Encode()  
    
    $enrollment = new-object -com "X509Enrollment.CX509Enrollment.1"  
    $enrollment.InitializeFromRequest($cert)  
    $enrollment.CertificateFriendlyName = "ConfigMgr SQL Server Identification Certificate"  
    $certdata = $enrollment.CreateRequest(0x1)  
    $enrollment.InstallResponse(0x2, $certdata, 0x1, "")  
    
    # Add this cert to the trusted peoples store  
    [Byte[]]$bytes = [System.Convert]::FromBase64String($certdata)  
    
    $trustedPeople = new-object System.Security.Cryptography.X509certificates.X509Store "TrustedPeople", "LocalMachine"  
    $trustedPeople.Open([Security.Cryptography.X509Certificates.OpenFlags]::ReadWrite)  
    $trustedPeople.Add([Security.Cryptography.X509Certificates.X509Certificate2]$bytes)  
    $trustedPeople.Close()  
    
    # Get thumbprint from cert  
    $sha = new-object System.Security.Cryptography.SHA1CryptoServiceProvider  
    $certHash = $sha.ComputeHash($bytes)  
    $certHashCharArray = "";  
    $certThumbprint = "";  
    
    # Format the bytes into a hexadecimal string  
    foreach($byte in $certHash)  
    {  
        $temp = ($byte | % {"{0:x}" -f $_}) -join ""  
        $temp = ($temp | % {"{0,2}" -f $_})  
        $certHashCharArray = $certHashCharArray+ $temp;  
    }  
    $certHashCharArray = $certHashCharArray.Replace(' ', '0');  
    
    # SQL Server needs the thumbprint in lower case  
    foreach($char in $certHashCharArray)  
    {  
        [System.String]$myString = $char;  
        $certThumbprint = $certThumbprint + $myString.ToLower();  
    }  
    
    # Configure SQL Server to use this cert  
    $path = "HKLM:\SOFTWARE\Microsoft\Microsoft SQL Server\Instance Names\SQL"  
    $subKey = (Get-ItemProperty $path).$sqlInstanceName  
    $realPath = "HKLM:\SOFTWARE\Microsoft\Microsoft SQL Server\" + $subKey + "\MSSQLServer\SuperSocketNetLib"  
    $certKeyName = "Certificate"  
    Set-ItemProperty -path $realPath -name $certKeyName -Type string -Value $certThumbprint  
    
    # restart SQL Server service  
    Restart-Service $SQLServiceName -Force  
    
  3. 데이터베이스 복제본(replica) 서버에서 SQL Server 구성에 적용되는 다음 명령을 실행합니다.

    • 기본 instance SQL Server: PowerShell 세션에서 .\CreateMPReplicaCert.ps1명령을 입력합니다. 스크립트가 실행되면 자체 서명된 인증서를 만들고 인증서를 사용하도록 SQL Server 구성합니다.

    • 명명된 SQL Server instance: PowerShell을 사용하여 다음 명령을 실행합니다..\CreateMPReplicaCert.ps1 <SQL Server instance name>

    스크립트가 완료되면 SQL Server 에이전트 실행 중인지 확인합니다. 그렇지 않은 경우 SQL Server 에이전트 다시 시작합니다.

데이터베이스 복제본(replica) 서버의 자체 서명된 인증서를 사용하도록 원격 관리 지점 구성

데이터베이스 복제본(replica) 서버에서 다음 단계를 수행하여 서버의 자체 서명된 인증서를 내보냅니다.

  1. 시작 메뉴로 이동하여 실행을 선택하고 를 입력합니다mmc.exe. 빈 콘솔에서 파일을 선택한 다음 스냅인 추가/제거를 선택합니다.

  2. 스냅인 추가 또는 제거 대화 상자의 사용 가능한 스냅인 목록에서 인증서를 선택한 다음, 추가를 선택합니다.

  3. 인증서 스냅인 대화 상자에서 컴퓨터 계정을 선택한 다음, 다음을 선택합니다.

  4. 컴퓨터 선택 대화 상자에서 로컬 컴퓨터(이 콘솔이 실행 중인 컴퓨터)가 선택되어 있는지 확인한 다음 마침을 선택합니다.

  5. 스냅인 추가 또는 제거 대화 상자에서 확인을 선택합니다.

  6. 콘솔에서 인증서(로컬 컴퓨터)를 확장하고 개인을 확장하고 인증서를 선택합니다.

  7. 식별 인증서의 이름이 ConfigMgr인 인증서를 마우스 오른쪽 단추로 클릭하고 SQL Server 모든 작업을 선택한 다음 내보내기를 선택합니다.

  8. 기본 옵션을 사용하여 인증서 내보내기 마법사 를 완료합니다. 인증서를 .cer 파일 이름 확장명을 사용하여 저장합니다.

관리 지점 서버에서 다음 단계를 수행하여 데이터베이스 복제본(replica) 서버에 대한 자체 서명된 인증서를 신뢰할 수 있는 사람 인증서 저장소에 추가합니다.

  1. 이전 단계를 반복하여 관리 지점 컴퓨터에서 인증서 스냅인 MMC를 엽니다.

  2. 인증서 콘솔에서 인증서(로컬 컴퓨터)를 확장하고 신뢰할 수 있는 사람 확장하고 인증서를 마우스 오른쪽 단추로 클릭하고 모든 작업을 선택한 다음 가져오기를 선택합니다. 이 작업은 인증서 가져오기 마법사를 시작합니다.

  3. 가져올 파일 페이지에서 저장된 인증서를 선택한 다음, 다음을 선택합니다.

  4. 인증서 저장소 페이지에서 인증서 저장소가 신뢰할 수 있는 사람 설정된 상태에서 다음 저장소에 모든 인증서 배치를 선택한 다음, 다음을 선택합니다.

  5. 마침을 선택하여 마법사를 닫고 관리 지점에서 인증서 구성을 완료합니다.

5단계 - 데이터베이스 복제본(replica) 서버에 대한 SQL Server Service Broker 구성

관리 지점에 대한 데이터베이스 복제본(replica) 클라이언트 알림을 지원하려면 사이트 데이터베이스 서버와 SQL Server Service Broker에 대한 데이터베이스 복제본(replica) 서버 간의 통신을 구성합니다. 다른 데이터베이스에 대한 정보를 사용하여 각 데이터베이스를 구성하고 보안 통신을 위해 두 데이터베이스 간에 인증서를 교환합니다.

참고

다음 절차를 사용하려면 먼저 데이터베이스 복제본(replica) 서버가 사이트 데이터베이스 서버와의 초기 동기화를 성공적으로 완료해야 합니다.

다음 절차에서는 사이트 데이터베이스 서버 또는 데이터베이스 복제본(replica) 서버에 대해 SQL Server 구성된 Service Broker 포트를 수정하지 않습니다. 이 절차에서는 올바른 Service Broker 포트를 사용하여 각 데이터베이스가 다른 데이터베이스와 통신하도록 구성합니다.

다음 절차를 사용하여 사이트 데이터베이스 서버 및 데이터베이스 복제본(replica) 서버에 대한 Service Broker를 구성합니다.

  1. SQL Server Management Studio 사용하여 복제본(replica) 서버 데이터베이스에 연결합니다. 그런 다음, 다음 쿼리를 실행하여 데이터베이스 복제본(replica) 서버에서 Service Broker를 사용하도록 설정합니다.ALTER DATABASE <Replica Database Name> SET ENABLE_BROKER, HONOR_BROKER_PRIORITY ON WITH ROLLBACK IMMEDIATE

  2. 데이터베이스 복제본(replica) 서버에서 클라이언트 알림을 위해 Service Broker를 구성하고 Service Broker 인증서를 내보냅니다. Service Broker를 구성하고 인증서를 단일 작업으로 내보내는 SQL Server 저장 프로시저를 실행합니다. 저장 프로시저를 실행할 때 데이터베이스 복제본(replica) 서버의 FQDN, 데이터베이스 복제본 데이터베이스의 이름을 지정하고 인증서 파일 내보내기의 위치를 지정합니다.

    다음 쿼리를 실행하여 데이터베이스 복제본(replica) 서버에서 필요한 세부 정보를 구성하고 데이터베이스 복제본(replica) 서버에 대한 인증서를 내보냅니다.EXEC sp_BgbConfigSSBForReplicaDB '<Replica SQL Server FQDN>', '<Replica Database Name>', '<Certificate Backup File Path>'

    참고

    데이터베이스 복제본(replica) 서버가 SQL Server 기본 instance 없는 경우 복제본(replica) 데이터베이스 이름으로 instance 이름도 지정합니다. 예제 명령에서 을 로 <Instance name>\<Replica Database Name>바꿉 있습니다<Replica Database Name>.

    데이터베이스 복제본(replica) 서버에서 인증서를 내보낸 후 주 사이트 데이터베이스 서버에 인증서 복사본을 배치합니다.

  3. SQL Server Management Studio 사용하여 기본 사이트 데이터베이스에 연결합니다. 주 사이트 데이터베이스에 연결한 후 쿼리를 실행하여 인증서를 가져오고 데이터베이스 복제본(replica) 서버에서 사용 중인 Service Broker 포트, 데이터베이스 복제본(replica) 서버의 FQDN 및 데이터베이스 복제본 데이터베이스의 이름을 지정합니다. 이 작업은 Service Broker를 사용하여 데이터베이스 복제본(replica) 서버의 데이터베이스와 통신하도록 기본 사이트 데이터베이스를 구성합니다.

    다음 쿼리를 실행하여 데이터베이스 복제본(replica) 서버에서 인증서를 가져오고 필요한 세부 정보를 지정합니다.EXEC sp_BgbConfigSSBForRemoteService 'REPLICA', '<SQL Service Broker Port>', '<Certificate File Path>', '<Replica SQL Server FQDN>', '<Replica Database Name>'

    참고

    데이터베이스 복제본(replica) 서버가 SQL Server 기본 instance 없는 경우 복제본(replica) 데이터베이스 이름으로 instance 이름도 지정합니다. 예제 명령에서 을 로 <Instance name>\<Replica Database Name>바꿉 있습니다<Replica Database Name>.

  4. 사이트 데이터베이스 서버에서 다음 명령을 실행하여 사이트 데이터베이스 서버에 대한 인증서를 내보냅니다.EXEC sp_BgbCreateAndBackupSQLCert '<Certificate Backup File Path>'

    사이트 데이터베이스 서버에서 인증서를 내보낸 후 데이터베이스 복제본(replica) 서버에 인증서 복사본을 배치합니다.

  5. SQL Server Management Studio 사용하여 복제본(replica) 서버 데이터베이스에 연결합니다. 복제본(replica) 서버 데이터베이스에 연결한 후 쿼리를 실행하여 인증서를 가져오고 주 사이트의 사이트 코드와 사이트 데이터베이스 서버에서 사용 중인 Service Broker 포트를 지정합니다. 이 작업은 Service Broker를 사용하여 주 사이트의 데이터베이스와 통신하도록 데이터베이스 복제본(replica) 서버를 구성합니다.

    다음 쿼리를 실행하여 사이트 데이터베이스 서버에서 인증서를 가져옵니다. EXEC sp_BgbConfigSSBForRemoteService '<Site Code>', '<SQL Service Broker Port>', '<Certificate File Path>'

사이트 데이터베이스 및 데이터베이스 복제본(replica) 데이터베이스의 구성을 완료한 후 몇 분 후에 기본 사이트의 알림 관리자는 기본 사이트 데이터베이스에서 데이터베이스 복제본(replica) 클라이언트 알림에 대한 Service Broker 대화를 설정합니다.

단일 SQL Server 다른 데이터베이스 복제본에 대한 추가 스크립트

4단계의 스크립트를 사용하여 데이터베이스 복제본(replica) 이미 있는 SQL Server 데이터베이스 복제본(replica) 서버에 대한 자체 서명된 인증서를 구성하는 경우 원래 스크립트의 수정된 버전을 사용합니다. 다음 수정은 스크립트가 서버에서 기존 인증서를 삭제하지 못하도록 하고 고유한 이름을 가진 후속 인증서를 만듭니다. 다음과 같이 원래 스크립트를 편집합니다.

  • 스크립트 항목과 # Create the new cert사이의 각 줄을 주석으로 처리합니다# Delete existing cert if one exists. 해당하는 각 줄의 첫 번째 문자로 파운드 기호(#)를 추가합니다.

  • 이 스크립트를 사용하여 구성하는 각 후속 데이터베이스 복제본(replica) 인증서의 이름을 업데이트합니다. 줄을 $enrollment.CertificateFriendlyName = "ConfigMgr SQL Server Identification Certificate" 편집하고 를 새 이름으로 바꿉 ConfigMgr SQL Server Identification Certificate 있습니다. 예를 들면 ConfigMgr SQL Server Identification Certificate1와 같습니다.

데이터베이스 복제본(replica) 구성 관리

사이트에서 데이터베이스 복제본(replica) 사용하는 경우 다음 섹션의 정보를 사용하여 데이터베이스 복제본(replica) 제거하거나, 데이터베이스 복제본(replica) 사용하는 사이트를 제거하거나, 사이트 데이터베이스를 새 SQL Server 설치로 이동하는 프로세스를 보완합니다. 게시를 삭제할 때 데이터베이스 복제본(replica) 사용하는 SQL Server 버전에 대한 트랜잭션 복제를 삭제하기 위한 지침을 사용합니다. 자세한 내용은 게시 삭제를 참조하세요.

참고

데이터베이스 복제본에 대해 구성된 사이트 데이터베이스를 복원한 후 데이터베이스 복제본을 사용하기 전에 각 데이터베이스 복제본(replica) 다시 구성하고 게시와 구독을 모두 다시 만듭니다.

데이터베이스 복제본(replica) 제거

관리 지점에 데이터베이스 복제본(replica) 사용하는 경우 데이터베이스를 제거한 다음 사용하도록 다시 구성해야 할 수 있습니다. 예를 들어 Configuration Manager 최신 버전으로 업데이트하기 전에 데이터베이스 복제본을 제거합니다. 사이트 업데이트가 완료되면 사용할 데이터베이스 복제본(replica) 복원합니다.

다음 단계를 사용하여 데이터베이스 복제본(replica) 제거합니다.

  1. Configuration Manager 콘솔의 관리 작업 영역에서 사이트 구성을 확장한 다음 서버 및 사이트 시스템 역할을 선택합니다. 세부 정보 창에서 제거할 데이터베이스 복제본(replica) 사용하는 관리 지점을 호스트하는 사이트 시스템 서버를 선택합니다.

  2. 사이트 시스템 역할 창에서 관리 지점 역할을 선택합니다. 리본 메뉴의 사이트 역할 탭에서 속성을 선택합니다.

  3. 관리 지점 데이터베이스 탭으로 전환합니다. 사이트 데이터베이스 사용을 선택하여 데이터베이스 복제본(replica) 대신 사이트 데이터베이스를 사용하도록 관리 지점을 구성합니다. 확인을 선택하여 구성을 저장합니다.

  4. SQL Server Management Studio 사용하여 다음 작업을 수행합니다.

    • 사이트 서버 데이터베이스에서 데이터베이스 복제본(replica) 게시를 삭제합니다.

    • 데이터베이스 복제본(replica) 서버에서 데이터베이스 복제본(replica) 대한 구독을 삭제합니다.

    • 데이터베이스 복제본(replica) 서버에서 복제본(replica) 데이터베이스를 삭제합니다.

    • 사이트 데이터베이스 서버에서 게시 및 배포를 사용하지 않도록 설정합니다. 게시 및 배포를 사용하지 않도록 설정하려면 복제 폴더를 마우스 오른쪽 단추로 클릭하고 게시 및 배포 사용 안 함을 선택합니다.

게시, 구독, 복제본(replica) 데이터베이스를 삭제하고 사이트 데이터베이스 서버에서 게시를 사용하지 않도록 설정하면 데이터베이스 복제본(replica) 제거됩니다.

데이터베이스 복제본(replica) 게시하는 사이트 서버 제거

데이터베이스 복제본(replica) 게시하는 사이트를 제거하기 전에 다음 단계를 사용하여 게시 및 구독을 클린.

  1. SQL Server Management Studio 사용하여 사이트 서버 데이터베이스에서 데이터베이스 복제본(replica) 게시를 삭제합니다.

  2. SQL Server Management Studio 사용하여 이 사이트에 대한 데이터베이스 복제본(replica) 호스트하는 각 원격 SQL Server 데이터베이스 복제본(replica) 구독을 삭제합니다.

  3. 사이트를 제거합니다.

데이터베이스 복제본(replica) 게시하는 사이트 서버 데이터베이스 이동

사이트 데이터베이스를 새 컴퓨터로 이동할 때 다음 단계를 사용합니다.

  1. SQL Server Management Studio 사용하여 사이트 서버 데이터베이스에서 데이터베이스 복제본(replica) 게시를 삭제합니다.

  2. SQL Server Management Studio 사용하여 이 사이트의 각 데이터베이스 복제본(replica) 서버에서 데이터베이스 복제본(replica) 대한 구독을 삭제합니다.

  3. 데이터베이스를 새 SQL Server 컴퓨터로 이동합니다. 자세한 내용은 사이트 데이터베이스 구성 수정을 참조하세요.

  4. 사이트 데이터베이스 서버에서 데이터베이스 복제본(replica) 게시를 다시 만듭니다. 자세한 내용은 1단계 - 데이터베이스 복제본(replica) 게시하도록 사이트 데이터베이스 서버 구성을 참조하세요.

  5. 각 데이터베이스 복제본(replica) 서버에서 데이터베이스 복제본(replica) 대한 구독을 다시 만듭니다. 자세한 내용은 2단계 - 데이터베이스 복제본(replica) 서버 구성을 참조하세요.