다음을 통해 공유


SQL Server 데이터베이스 미러링을 사용하여 단일 팜에서 가용성 구성

업데이트 날짜: 2008년 12월

적용 대상: Office SharePoint Server 2007

 

마지막으로 수정된 항목: 2009-06-22

이 문서에서는 고가용성 데이터베이스 미러링을 사용하여 Microsoft Office SharePoint Server 2007의 팜 내에서 가용성을 구성하는 방법에 대해 설명합니다. 이 문서에서는 사용자가 가용성 계획(Office SharePoint Server)에 나와 있는 개념 및 용어에 익숙하다고 가정합니다.

Microsoft SQL Server 2005 데이터베이스 미러링은 주 데이터베이스의 트랜잭션 로그 버퍼가 디스크에 기록될 때마다 주 데이터베이스 및 서버에서 미러 데이터베이스 및 서버로 트랜잭션을 직접 전송하여 가용성을 지원합니다. Office SharePoint Server 2007 팜의 가용성을 위해 자동 장애 조치(Failover)가 포함된 높은 보안 모드라고도 하는 고가용성 데이터베이스 미러링을 사용하는 것이 좋습니다. 고가용성 데이터베이스 미러링 작업에는 주 서버 인스턴스, 미러 서버 인스턴스 및 미러링 모니터 서버 인스턴스 등 세 가지 서버 인스턴스가 필요합니다. 미러링 모니터 서버는 SQL Server가 주 서버에서 미러 서버로 자동으로 장애 조치를 수행하도록 합니다. 주 데이터베이스에서 미러 데이터베이스로 장애 조치를 수행하는 데는 일반적으로 몇 초가 걸립니다.

SharePoint 팜 내에서 미러링은 모든 데이터베이스에 대한 중복을 제공하므로 데이터베이스에 장애 조치를 수행할 때 프런트 엔드 웹 서버가 사용 가능한 상태인 것으로 가정합니다. 다음 그림은 팜 내에서 고가용성을 제공하도록 미러링을 구성하는 방법을 보여 줍니다.

팜 내 모든 데이터베이스 미러링 다이어그램

Office SharePoint Server 2007은 미러링을 인식하지 않습니다. 사용 가능 솔루션으로 미러링을 사용하려면 데이터베이스에서 SQL Server 클라이언트 별칭 지정을 사용하도록 구성하고 스크립트를 실행하여 장애 조치 시 SQL Server 클라이언트 별칭이 변경되도록 하는 것이 좋습니다.

데이터베이스 미러링 요구 사항

데이터베이스 미러링을 구성하기 전에 사용자의 데이터베이스 및 시스템이 다음 요구 사항을 충족하는지 확인합니다.

  • 시스템 대기 시간은 1밀리초를 초과하지 않는 것이 좋습니다.

  • 시스템 대역폭은 가능하면 초당 1GB이어야 합니다.

  • 로그는 주 서버 및 미러 서버 간에 실시간으로 복사되며 복사는 성능에 영향을 미칠 수 있습니다. 주 서버 및 미러 서버 모두에 메모리 및 대역폭이 충분한지 확인하십시오.

  • 주 서버 및 미러 서버는 동일한 Microsoft SQL Server 2005 서비스 팩 1(SP1) 버전에서 실행 중이어야 합니다. 데이터베이스 미러링은 Standard, Developer 및 Enterprise 버전에서만 사용할 수 있습니다. 미러링 모니터 서버는 SQL Server 2005 Express Edition을 포함하여 SQL Server 2005 모든 버전에서 실행할 수 있습니다.

  • 미러링은 전체 복구 모델을 사용하는 데이터베이스와만 작동합니다.

    기본적으로 Office SharePoint Server 2007 SSP 데이터베이스는 단순 복구 모델을 사용하도록 구성되어 있습니다. 데이터베이스 미러링을 구성하려면 데이터베이스의 복구 모델이 전체로 설정되어야 합니다. 데이터베이스 복구 모델을 설정하는 방법에 대한 자세한 내용은 방법: 데이터베이스의 복구 모델 보기 또는 변경(SQL Server Management Studio)(https://go.microsoft.com/fwlink/?linkid=132075&clcid=0x412)을 참조하십시오.

  • SSP 데이터베이스를 미러링하려는 경우 이 데이터베이스의 트랜잭션 로그 크기가 매우 커질 수 있음을 고려해야 합니다. 이 문제를 해결하려면 필요에 따라 트랜잭션을 자르는 복구 계획을 세워보십시오. 자세한 내용은 기술 자료 문서: SQL Server 데이터베이스의 트랜잭션 로그가 너무 커지지 않도록 하는 방법(https://go.microsoft.com/fwlink/?linkid=111458&clcid=0x412)을 참조하십시오.

  • 모든 데이터베이스 미러링 세션은 각 데이터베이스에 대해 최소 2개의 스레드를 만듭니다. 데이터베이스 서버에 지원되는 모든 데이터베이스 미러링에 할당 가능한 충분한 스레드가 있는지 확인해야 합니다. 스레드가 충분하지 않은 경우 세션에 데이터베이스가 추가될 때마다 성능이 급격히 저하됩니다.

    Microsoft의 호스팅 환경에서 SharePoint 제품 및 기술을 호스트하고 있는 SQL Server의 단일 인스턴스의 미러링 데이터베이스에 대한 실제 최고값은 데이터베이스 50개입니다. 이 최고값은 미러링의 리소스 사용량(주 인스턴스 및 미러 인스턴스 각각에 전용 스레드 필요) 및 테스팅을 기준으로 한 것입니다. 다음 요소에 따라 결과가 다를 수 있습니다.

    • 주 인스턴스 및 미러 인스턴스 메모리

    • 주 인스턴스 및 미러 인스턴스의 처리 능력

    • 주 인스턴스 및 미러 인스턴스의 I/O 하위 시스템 대역폭

    • 각 데이터베이스의 작업 부하를 통해 생성되는 트랜잭션 로그 양

    • 주 인스턴스 및 미러 인스턴스 간의 네트워크 대역폭

데이터베이스 미러링의 성능 및 범위에 대한 자세한 내용은 SQL Server 2005의 데이터베이스 미러링(https://go.microsoft.com/fwlink/?linkid=83566&clcid=0x412)을 참조하십시오.

데이터베이스 미러링과 연관된 보안

데이터베이스 미러링은 TCP 세션을 사용하여 트랜잭션 로그를 서버 간에 전송하고 자동 장애 조치에 대한 현재 시스템 상태를 모니터링합니다. 인증은 연결을 위해 포트가 열릴 때 세션 수준에서 수행됩니다.

  • Windows 인증(NTLM 또는 Kerberos)

  • 인증서

이 문서에서는 인증서가 있는 데이터베이스 미러링을 사용하는 방법에 대해 설명합니다. 데이터베이스 미러링에 Windows 인증을 사용하는 방법에 대한 자세한 내용은 예: Windows 인증을 사용하여 데이터베이스 미러링 설정(Transact-SQL) 예: Windows 인증을 사용하여 데이터베이스 미러링 설정(Transact-SQL)(https://go.microsoft.com/fwlink/?linkid=83567&clcid=0x412)을 참조하십시오.

네트워크가 안전하지 않은 경우 세션 중 전송된 데이터는 암호화되어야 합니다. 이 문서에서는 데이터베이스 미러링이 AES 및 RC4 암호화 알고리즘을 모두 지원하는 경우 RC4를 사용하여 회선을 통해 전송된 데이터에 암호화를 설정하는 방법에 대해 간략하게 설명합니다. 데이터베이스 미러링과 연관된 보안에 대한 자세한 내용은 데이터베이스 미러링 전송 보안(https://go.microsoft.com/fwlink/?linkid=83569&clcid=0x412)을 참조하십시오.

SharePoint 보안 및 미러된 서버

미러된 데이터베이스를 설정할 때 SharePoint 팜을 사용하기 위해 필요한 SQL Server 로그인 및 사용 권한은 미러의 마스터 및 msdb 데이터베이스에서 자동으로 구성되지 않습니다. 따라서 필요한 로그인에 대한 사용 권한을 구성해야 합니다. 여기에는 다음 내용이 포함됩니다.

  • 중앙 관리 응용 프로그램 풀 계정은 dbcreator 및 securityadmin fixed 서버 역할의 구성원이어야 합니다.

  • 모든 응용 프로그램 풀 계정, 검색 서비스 및 기본 콘텐츠 액세스 계정에는 SQL Server 고정 서버 또는 고정 데이터베이스 역할에 할당되어 있지 않는 경우이더라도 SQL Server 로그인이 있어야 합니다.

  • Farm Administrators SharePoint 그룹의 구성원도 SQL Server 로그인이 있어야 하며 중앙 관리 응용 프로그램 풀 계정과 같은 역할의 구성원이어야 합니다.

스크립트를 실행하여 주 서버에서 미러 서버로 로그인 및 사용 권한을 전송하는 것이 좋습니다. 예제 스크립트는 기술 자료 문서 918992 SQL Server 2005 인스턴스 간에 로그인 및 암호를 전송하는 방법(https://go.microsoft.com/fwlink/?linkid=122053&clcid=0x412)에서 사용 가능합니다. 인스턴스 간에 SQL Server 메타데이터를 전송하는 방법에 대한 자세한 내용은 SQL Server 온라인 도움말 설명서 다른 서버 인스턴스에서 데이터베이스를 사용할 수 있도록 설정할 때의 메타데이터 관리(https://go.microsoft.com/fwlink/?linkid=122055&clcid=0x412)를 참조하십시오.

권장 토폴로지

주 서버와 미러 서버에 대해 일대일 매핑을 유지하여 SharePoint 제품 및 기술의 호환성을 지속시키는 것이 좋습니다.

지원되는 토폴로지에는 모든 콘텐츠 데이터베이스 미러링, 구성 데이터베이스 및 중앙 관리 콘텐츠 데이터베이스 미러링이 포함됩니다. 또한 Office SharePoint Server의 경우 SSP 데이터베이스, SSP 검색 데이터베이스 및 SSP 콘텐츠 데이터베이스를 미러링할 수 있습니다.

다음 그림은 일부 지원되는 토폴로지에 대해 설명합니다.

미러링을 지원하는 토폴로지

일치하는 주 서버 및 미러 서버가 없는 토폴로지는 사용하지 않습니다. 또한, 구성 데이터베이스 및 관리 콘텐츠 데이터베이스를 동일한 서버에 유지합니다. 다음 다이어그램은 지원되지 않는 토폴로지에 대해 설명합니다.

미러링을 지원하지 않는 토폴로지

SQL Server 연결 별칭 설정

SQL Server 연결 별칭은 SQL Server 인스턴스에 연결하는 데 사용할 수 있는 정의된 대체 이름입니다. SharePoint 제품 및 기술의 경우 모든 서버(프런트 엔드 웹 서버 포함)에서 SQL Server 인스턴스에 연결하는 데 사용하는 SQl Server 별칭을 만들 수 있습니다. 미러 데이터베이스 서버에 장애 조치가 수행될 때 주 서버가 아닌 미러 서버를 가리키도록 프런트 엔드 웹 서버에 별칭을 조정합니다. 미러링을 구현하기 전에 SQL Server 연결 별칭을 설정하는 것이 좋습니다.

참고

기존 팜에 대한 별칭을 설정하는 경우 주 서버와 같은 이름을 별칭에 사용하여 프런트 엔드 웹 서버에서 이 별칭을 사용하기 시작할 때 변경되는 사항이 없도록 합니다.

모든 프런트 엔드 웹 서버 및 SQL Server에 연결하는 모든 서버에 대해 다음 단계를 완료합니다.

  1. SQL Server Native Client 네트워크 유틸리티(%SYSTEM%\cliconfg.exe)를 시작합니다.

  2. 별칭 탭을 클릭한 후 추가를 클릭합니다.

    네트워크 라이브러리 구성 추가 대화 상자가 나타납니다.

  3. TCP/IP를 선택하고 별칭 및 별칭에 연결할 서버 이름을 입력한 다음 확인을 클릭합니다.

  4. SQL Server에 연결하는 모든 서버에 대해 이 단계를 반복합니다.

데이터베이스 미러링 설정

이 섹션에서는 Transact-SQL을 사용하여 SQL Server 데이터베이스에 고가용성 모드 데이터베이스 미러링을 설정하는 방법에 대해 설명합니다.

SharePoint 제품 및 기술에 데이터베이스 미러링을 설정하려면 미러링하려는 각 데이터베이스를 개별적으로 작업해야 합니다.

다음 섹션의 단계는 아래의 서버 팜 토폴로지에 관련된 것입니다.

  • 하나 이상의 프런트 엔드 웹 서버

  • SQL Server 2005를 실행 중인 서버 3대: 주 서버, 미러 서버 및 미러링 모니터 서버

  • 하나의 구성 데이터베이스

  • 여러 콘텐츠 데이터베이스

  • 하나 이상의 SSP 데이터베이스

인증서 및 전체 복구를 사용하여 데이터베이스 미러링 구성

각 단계에는 수행해야 하는 서버가 나열되어 있습니다. Transact-SQL을 사용하여 SQL Server로 명령을 전송합니다. 자리 표시자 정보는 꺾쇠 괄호(<>)로 표시되며 배포에 관련된 정보로 대체되어야 합니다.

아웃바운드 연결에 대해 주 서버 설정

  1. 주 서버에서 인증서를 만들고 미러링에 사용할 포트를 엽니다.

    --On master database, create the database Master Key, if needed
    CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<test1234->';
    GO
    -- Make a certificate for this server instance.
    USE master;
    CREATE CERTIFICATE <MASTER_HostA_cert> 
       WITH SUBJECT = '<Master_HostA certificate>';
    GO
    --Create mirroring endpoint for server instance using the certificate
    CREATE ENDPOINT Endpoint_Mirroring
       STATE = STARTED
       AS TCP (
          LISTENER_PORT=5024
          , LISTENER_IP = ALL
       ) 
       FOR DATABASE_MIRRORING ( 
          AUTHENTICATION = CERTIFICATE <MASTER_HostA_cert>
          , ENCRYPTION = REQUIRED ALGORITHM RC4
          , ROLE = ALL
       );
    GO
    
  2. 주 서버에서 인증서를 백업합니다.

    --Back up HOST_A certificate.
    BACKUP CERTIFICATE MASTER_HostA_cert TO FILE = '<c:\MASTER_HostA_cert.cer>';
    GO
    
  3. 주 서버에서 데이터베이스를 백업합니다. 이 예에서는 구성 데이터베이스를 사용합니다. 모든 데이터베이스에 대해 이 단계를 반복합니다.

    USE master;
    --Ensure that SharePoint_Config uses the full recovery model.
    ALTER DATABASE SharePoint_Config
       SET RECOVERY FULL;
    GO
    USE SharePoint_Config
    BACKUP DATABASE SharePoint_Config 
        TO DISK = '<c:\SharePoint_Config.bak>' 
        WITH FORMAT
    GO
    BACKUP Log SharePoint_Config 
        TO DISK = '<c:\SharePoint_Config_log.bak>' 
        WITH FORMAT
    GO
    
  4. 백업 파일을 미러 서버에 복사합니다. 모든 데이터베이스에 대해 이 단계를 반복합니다.

  5. 안전한 복사 방법을 사용하여 백업 인증서 파일(예: C:\HOST_HostA_cert.cer)을 미러 서버로 복사합니다.

  6. 주 서버에서 미러 서버의 로그인 및 사용자를 만들고, 이 사용자를 인증서에 연결시키고, 파트너 관계에 로그인 연결 권한을 부여합니다.

    --Create a login on HOST_A for HOST_B
    USE master;
    CREATE LOGIN <HOST_HostB_login> WITH PASSWORD = '<1234-test>';
    GO
    --Create a user for that login.
    CREATE USER <HOST_HostB_user> FOR LOGIN <HOST_HostB_login>;
    GO
    --Associate the certificate with the user
    CREATE CERTIFICATE <HOST_HostB_cert>
       AUTHORIZATION <HOST_HostB_user>
       FROM FILE = '<c:\HOST_HostB_cert.cer>' --do not try to use a network path, SQL Server will give an error about the key not being valid
    GO
    --Grant CONNECT permission on the login for the remote mirroring endpoint.
    GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [<HOST_HostB_login>];
    GO
    

아웃바운드 연결에 미러 서버 설정

  1. 미러 서버에서 인증서를 만들고 미러링에 사용할 포트를 엽니다.

    --On master database, create the database Master Key, if needed.
    USE master;
    CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<1234-test>';
    GO
    -- Make a certificate on the HOST_B server instance.
    CREATE CERTIFICATE <HOST_HostB>
       WITH SUBJECT = '<HOST_HostB certificate for database mirroring>';
    GO
    --Create a mirroring endpoint for the server instance on HOST_B.
    CREATE ENDPOINT Endpoint_Mirroring
       STATE = STARTED
       AS TCP (
          LISTENER_PORT=5024
          , LISTENER_IP = ALL
       ) 
       FOR DATABASE_MIRRORING ( 
          AUTHENTICATION = CERTIFICATE <HOST_HostB>
          , ENCRYPTION = REQUIRED ALGORITHM RC4
          , ROLE = ALL
       );
    GO
    
  2. 미러 서버에서 인증서를 백업합니다.

    --Back up HOST_B certificate.
    BACKUP CERTIFICATE <HOST_HostB> TO FILE = '<C:\HOST_HostB_cert.cer>';
    GO 
    
  3. 안전한 복사 방법을 사용하여 백업 인증서 파일(예: C:\HOST_HostB_cert.cer)을 주 서버로 복사합니다.

  4. 미러 서버에서 백업 파일의 데이터베이스를 복원합니다. 이 예에서는 구성 데이터베이스를 사용합니다. 모든 데이터베이스에 대해 이 단계를 반복합니다.

    RESTORE DATABASE SharePoint_Config 
        FROM DISK = '<c:\SharePoint_Config.bak>' 
        WITH NORECOVERY
    GO
    RESTORE log SharePoint_Config 
        FROM DISK = '<c:\SharePoint_Config_log.bak>' 
        WITH NORECOVERY
    GO
    

인바운드 연결에 미러 서버 설정

  1. 미러 서버에서 주 서버의 로그인 및 사용자를 만들고, 이 사용자를 인증서에 연결시키고, 파트너 관계에 로그인 연결 권한을 부여합니다.

    --Create a login on HOST_B for HOST_A
    USE master;
    CREATE LOGIN <MASTER_HostA_login> WITH PASSWORD = '<test1234->';
    GO
    --Create a user for that login.
    CREATE USER <MASTER_HostA_user> FOR LOGIN <MASTER_HostA_login>;
    GO
    --Associate the certificate with the user
    CREATE CERTIFICATE <MASTER_HostA_cert>
       AUTHORIZATION <MASTER_HostA_user>
       FROM FILE = '<c:\MASTER_HostA_cert.cer>' --do not try to use a network path, SQL Server will give an error about the key not being valid
    GO
    --Grant CONNECT permission on the login for the remote mirroring endpoint.
    GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [<MASTER_HostA_login>];
    GO
    

인바운드 연결에 주 서버 설정

  1. 주 서버에서 미러 서버의 로그인 및 사용자를 만들고, 이 사용자를 인증서에 연결시키고, 파트너 관계에 로그인 연결 권한을 부여합니다.

    --Create a login on HOST_A for HOST_B
    USE master;
    CREATE LOGIN <HOST_HostB_login> WITH PASSWORD = '<1234-test>';
    GO
    --Create a user for that login.
    CREATE USER <HOST_HostB_user> FOR LOGIN <HOST_HostB_login>;
    GO
    --Associate the certificate with the user
    CREATE CERTIFICATE <HOST_HostB_cert>
       AUTHORIZATION <HOST_HostB_user>
       FROM FILE = '<c:\HOST_HostB_cert.cer>' --do not try to use a network path, SQL Server will give an error about the key not being valid
    GO
    --Grant CONNECT permission on the login for the remote mirroring endpoint.
    GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [<HOST_HostB_login>];
    GO
    

미러링 파트너 설정

  1. 주 서버에서 미러링 파트너 관계를 설정합니다. 이 예에서는 구성 데이터베이스를 사용합니다. 모든 데이터베이스에 대해 이 단계를 반복합니다.

    --At HOST_A, set server instance on HOST_B as partner (mirror server).
    ALTER DATABASE SharePoint_Config
        SET PARTNER = '<TCP://databasemirror.adatum.com:5024>';
    GO
    
  2. 미러 서버에서 미러링 파트너 관계를 설정합니다. 이 예에서는 구성 데이터베이스를 사용합니다. 모든 데이터베이스에 대해 이 단계를 반복합니다.

    --At HOST_B, set server instance on HOST_A as partner (principal server):
    ALTER DATABASE SharePoint_Config 
        SET PARTNER = '<TCP://databasemaster.adatum.com:5024>';
    GO
    

미러링 모니터 서버 설정

각 단계에는 이를 수행해야 하는 서버가 나열되어 있습니다. Transact-SQL을 사용하여 SQL Server로 명령을 전송합니다. 자리 표시자 정보는 꺾쇠 괄호(<>)로 표시되며 배포에 관련된 정보로 대체되어야 합니다.

  1. 미러링 모니터 서버에서 인증서를 설정하고 포트를 엽니다.

    --On master database, create the database Master Key, if needed
    CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<1234test->';
    GO
    -- Make a certificate for this server instance.
    USE master;
    CREATE CERTIFICATE <WITNESS_HostC_cert> 
       WITH SUBJECT = '<Witness_HostC certificate>';
    GO
    --Create mirroring endpoint for server instance using the certificate
    CREATE ENDPOINT Endpoint_Mirroring
       STATE = STARTED
       AS TCP (
          LISTENER_PORT=5024
          , LISTENER_IP = ALL
       ) 
       FOR DATABASE_MIRRORING ( 
          AUTHENTICATION = CERTIFICATE <WITNESS_HostC_cert
          , ENCRYPTION = REQUIRED ALGORITHM RC4
          , ROLE = ALL
       );
    GO
    
  2. 주 서버에서 인증서를 백업합니다.

    --Back up HOST_C certificate 
    BACKUP CERTIFICATE <WITNESS_HostC_cert> TO FILE = '<c:\ WITNESS_HostC_cert.cer>';
    GO
    
  3. 안전한 복사 방법을 사용하여 백업 인증서 파일(예: C:\WITNESS_HOSTC_cert.cer)을 주 서버 및 미러 서버로 복사합니다.

  4. 안전한 복사 방법을 사용하여 백업 인증서 파일(예: C:\WITNESS_HOSTC_cert.cer)을 주 서버 및 미러 서버로 복사합니다.

    --Create a login on Witness HOST_C for Principal HOST_A
    USE master;
    CREATE LOGIN <MASTER_HostA_login> WITH PASSWORD = '<test1234->';
    GO
    --Create a user for that login.
    CREATE USER <MASTER_HostA_user> FOR LOGIN <MASTER_HostA_login>;
    GO
    --Associate the certificate with the user
    CREATE CERTIFICATE <MASTER_HostA_cert>
       AUTHORIZATION <MASTER_HostA_user>
       FROM FILE = '<c:\MASTER_HostA_cert.cer>' --do not try to use a network path, SQL Server will give an error about the key not being valid
    GO
    --Grant CONNECT permission on the login for the remote mirroring endpoint.
    GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [<MASTER_HostA_login>];
    GO
    --Create Login for Mirror Host B
    CREATE LOGIN <HOST_HostB_login> WITH PASSWORD = '<1234-test>';
    GO
    --Create a user for that login.
    CREATE USER <HOST_HostB_user> FOR LOGIN <HOST_HostB_login>;
    GO
    --Associate the certificate with the user
    CREATE CERTIFICATE <HOST_HostB_cert>
       AUTHORIZATION <HOST_HostB_user>
       FROM FILE = '<c:\HOST_HostB_cert.cer>' --do not try to use a network path, SQL Server will give an error about the key not being valid
    GO
    --Grant CONNECT permission on the login for the remote mirroring endpoint.
    GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [<HOST_HostB_login>];
    GO
    
  5. 주 서버에서 미러링 모니터 서버의 로그인 및 사용자를 만들고, 이 사용자를 인증서에 연결시키고, 파트너 관계에 로그인 연결 권한을 부여합니다. 미러 서버에 대해 이 단계를 반복합니다.

    --Create a login on Master HostA for Witness HostC
    USE master;
    CREATE LOGIN <WITNESS_HostC_login> WITH PASSWORD = '<1234test->';
    GO
    --Create a user for that login.
    CREATE USER <WITNESS_HostC_user> FOR LOGIN <WITNESS_HostC_login>;
    GO
    --Associate the certificate with the user
    CREATE CERTIFICATE <WITNESS_HostC_cert>
       AUTHORIZATION <WITNESS_HostC_user>
       FROM FILE = '<c:\WITNESS_HostC_cert.cer>' --do not try to use a network path, SQL Server will give an error about the key not being valid
    GO
    --Grant CONNECT permission on the login for the remote mirroring endpoint.
    GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [<WITNESS_HostC_login>];
    GO
    
  6. 주 서버에서 미러링 모니터 서버를 연결합니다. 이 예에서는 구성 데이터베이스를 사용합니다. 모든 데이터베이스에 대해 이 단계를 반복합니다.

    --Setup the Witness Server
    ALTER DATABASE SharePoint_Config
        SET WITNESS = 
        '<TCP://databasewitness.adatum.com:5024>'
    GO
    

미러 서버로 사용 권한 전송

미러된 데이터베이스를 설정할 때 SharePoint 팜을 사용하기 위해 필요한 SQL Server 로그인 및 사용 권한은 미러의 마스터 및 msdb 데이터베이스에서 자동으로 구성되지 않습니다. 따라서 필요한 로그인에 대한 사용 권한을 구성해야 합니다.

스크립트를 실행하여 주 서버에서 미러 서버로 로그인 및 사용 권한을 전송하는 것이 좋습니다. 기술 자료 문서 918992: SQL Server 2005 인스턴스 간에 로그인 및 암호를 전송하는 방법(https://go.microsoft.com/fwlink/?linkid=122053&clcid=0x412)에서 사용 가능한 스크립트를 사용하는 것이 좋습니다.

미러링 상태 모니터

미러링 모니터 서버에서 다음 Transact-SQL 구문을 사용하여 현재 미러링 상태를 모니터링할 수 있습니다.

SELECT mirroring_role FROM sys.database_mirroring WHERE mirroring_role is not 
null --If returns a 1, principal, if 2: mirror

일련의 SQL Server 작업 및 경고를 만들어 어떤 서버가 주 서버인지 확인하거나 이 명령을 실행하는 Windows 서비스를 만들어 어떤 서버가 주 서버인지를 확인할 수 있습니다.

다음 단계

미러링을 구성한 후에는 팜의 데이터베이스에 장애 조치를 수행할 수 있는 스크립트를 만들어야 합니다. 자세한 내용은 단일 팜에서 미러된 데이터베이스 장애 조치 및 복구를 참조하십시오.

SELECT mirroring_role FROM sys.database_mirroring WHERE mirroring_role is not 
null --If returns a 1, principal, if 2: mirror

일련의 SQL Server 작업 및 경고를 만들어 어떤 서버가 주 서버인지 확인하거나 이 명령을 실행하는 Windows 서비스를 만들어 어떤 서버가 주 서버인지를 확인할 수 있습니다.

참고 항목

기타 리소스

SQL Server 2005에서 데이터베이스 미러링