다음을 통해 공유


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

이 예제에서는 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 고정 서버 역할의 멤버 자격이 필요합니다.

예시

이 예제에서 두 파트너와 증인은 세 컴퓨터 시스템의 기본 서버 인스턴스입니다. 세 서버 인스턴스는 동일한 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)
데이터베이스 미러링 및 AlwaysOn 가용성 그룹에 대한 전송 보안(SQL Server)
다른 서버 인스턴스에서 데이터베이스를 사용할 수 있도록 할 때 메타데이터 관리(SQL Server)
SQL Server 데이터베이스 엔진 및 Azure SQL 데이터베이스용 Security Center