예: Windows 인증을 사용하여 데이터베이스 미러링 구성(Transact-SQL)

적용 대상:SQL Server

이 예에서는Windows 인증을 사용하여 미러링 모니터가 있는 데이터베이스 미러링 세션을 만드는 데 필요한 모든 단계를 보여 줍니다. 이 항목의 예에서는 Transact-SQL을 사용합니다. Transact-SQL 단계를 사용하는 대신 데이터베이스 미러링 보안 구성 마법사를 데이터베이스 미러링 설치에 사용할 수도 있습니다. 자세한 내용은 Windows 인증을 사용하여 데이터베이스 미러링 세션 설정(SQL Server Management Studio)을 참조하세요.

전제 조건

예에서는 기본적으로 단순 복구 모델을 사용하는 AdventureWorks 예제 데이터베이스를 사용합니다. 데이터베이스 미러링을 이 데이터베이스에 사용하려면 전체 복구 모델을 사용하도록 변경해야 합니다. Transact-SQL에서 복구 모델을 변경하려면 다음과 같이 ALTER DATABASE 문을 사용합니다.

USE master;  
GO  
ALTER DATABASE AdventureWorks   
SET RECOVERY FULL;  
GO  

SQL Server Management Studio에서 복구 모델을 변경하는 방법에 대한 자세한 내용은 데이터베이스 복구 모델 보기 또는 변경(SQL Server)을 참조하세요.

사용 권한

데이터베이스에 대한 ALTER 권한과 CREATE ENDPOINT 권한 또는 sysadmin 고정 서버 역할의 멤버 자격이 필요합니다.

예시

이 예에서는 파트너 2개와 미러링 모니터 서버가 컴퓨터 시스템 3대의 기본 서버 인스턴스입니다. 세 서버 인스턴스는 동일한 Windows 도메인을 실행하지만 기본 사용자 계정(시작 서비스 계정으로 사용됨)은 예에서의 미러링 모니터 서버 인스턴스와 다릅니다.

다음 표에는 이 예에 사용된 값이 요약되어 있습니다.

초기 미러링 역할 호스트 시스템 도메인 사용자 계정
주 서버 PARTNERHOST1 <Mydomain>\<dbousername>
미러 PARTNERHOST5 <Mydomain>\<dbousername>
미러링 모니터 WITNESSHOST4 <Somedomain>\<witnessuser>
  1. 주 서버 인스턴스(PARTNERHOST1의 기본 인스턴스)에 엔드포인트를 만듭니다.

    CREATE ENDPOINT Endpoint_Mirroring  
        STATE=STARTED   
        AS TCP (LISTENER_PORT=7022)   
        FOR DATABASE_MIRRORING (ROLE=PARTNER)  
    GO  
    --Partners under same domain user; login already exists in master.  
    --Create a login for the witness server instance,  
    --which is running as Somedomain\witnessuser:  
    USE master ;  
    GO  
    CREATE LOGIN [Somedomain\witnessuser] FROM WINDOWS ;  
    GO  
    -- Grant connect permissions on endpoint to login account of witness.  
    GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [Somedomain\witnessuser];  
    --Grant connect permissions on endpoint to login account of partners.  
    GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [Mydomain\dbousername];  
    GO  
    
  2. 미러 서버 인스턴스(PARTNERHOST5의 기본 인스턴스)에 엔드포인트를 만듭니다.

    CREATE ENDPOINT Endpoint_Mirroring  
        STATE=STARTED   
        AS TCP (LISTENER_PORT=7022)   
        FOR DATABASE_MIRRORING (ROLE=ALL)  
    GO  
    --Partners under same domain user; login already exists in master.  
    --Create a login for the witness server instance,  
    --which is running as Somedomain\witnessuser:  
    USE master ;  
    GO  
    CREATE LOGIN [Somedomain\witnessuser] FROM WINDOWS ;  
    GO  
    --Grant connect permissions on endpoint to login account of witness.  
    GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [Somedomain\witnessuser];  
    --Grant connect permissions on endpoint to login account of partners.  
    GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [Mydomain\dbousername];  
    GO  
    
  3. 미러링 모니터 서버 인스턴스(WITNESSHOST4 기본 인스턴스)에 엔드포인트를 만듭니다.

    CREATE ENDPOINT Endpoint_Mirroring  
        STATE=STARTED   
        AS TCP (LISTENER_PORT=7022)   
        FOR DATABASE_MIRRORING (ROLE=WITNESS)  
    GO  
    --Create a login for the partner server instances,  
    --which are both running as Mydomain\dbousername:  
    USE master ;  
    GO  
    CREATE LOGIN [Mydomain\dbousername] FROM WINDOWS ;  
    GO  
    --Grant connect permissions on endpoint to login account of partners.  
    GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [Mydomain\dbousername];  
    GO  
    
  4. 미러 데이터베이스를 만듭니다. 자세한 내용은 미러 데이터베이스의 미러링 준비(SQL Server)를 참조하세요.

  5. PARTNERHOST5의 미러 서버 인스턴스에서 PARTNERHOST1의 서버 인스턴스를 초기 주 서버 인스턴스로 만들어 파트너로 설정합니다.

    ALTER DATABASE AdventureWorks   
        SET PARTNER =   
        'TCP://PARTNERHOST1.COM:7022'  
    GO  
    
  6. PARTNERHOST1의 주 서버 인스턴스에서 PARTNERHOST5의 서버 인스턴스를 초기 미러 서버 인스턴스로 만들어 파트너로 설정합니다.

    ALTER DATABASE AdventureWorks   
        SET PARTNER = 'TCP://PARTNERHOST5.COM:7022'  
    GO  
    
  7. 주 서버에서 미러링 모니터를 설정합니다(WITNESSHOST4에 있음).

    ALTER DATABASE AdventureWorks   
        SET WITNESS =   
        'TCP://WITNESSHOST4.COM:7022'  
    GO  
    

관련 작업

참고 항목

ALTER DATABASE(Transact-SQL)
데이터베이스 미러링 엔드포인트(SQL Server)
데이터베이스 미러링 및 Always On 가용성 그룹에 대한 전송 보안(SQL Server)
다른 서버 인스턴스에서 데이터베이스를 사용할 수 있도록 할 때 메타데이터 관리(SQL Server)
SQL Server 데이터베이스 엔진 및 Azure SQL Database용 Security Center