예제: Windows 인증을 사용하여 데이터베이스 미러링 설정(Transact-SQL)Example: Setting Up Database Mirroring Using Windows Authentication (Transact-SQL)

이 예에서는 Windows 인증을 사용하는 미러링 모니터 서버가 있는 데이터베이스 미러링 세션을 만드는 데 필요한 모든 단계를 보여 줍니다.This example shows all the stages required to create a database mirroring session with a witness using Windows Authentication. 이 항목의 예에서는 Transact-SQLTransact-SQL을 사용합니다.The examples in this topic use Transact-SQLTransact-SQL. Transact-SQLTransact-SQL 단계를 사용하는 대신 데이터베이스 미러링 보안 구성 마법사를 데이터베이스 미러링 설치에 사용할 수도 있습니다.Note that as an alternative to using Transact-SQLTransact-SQL steps, you can use the Configure Database Mirroring Security Wizard for database mirroring setup. 자세한 내용은 Windows 인증을 사용하여 데이터베이스 미러링 세션 구성(SQL Server Management Studio)을 참조하세요.For more information, see Establish a Database Mirroring Session Using Windows Authentication (SQL Server Management Studio).

필수 구성 요소Prerequisite

예에서는 기본적으로 단순 복구 모델을 사용하는 AdventureWorks 예제 데이터베이스를 사용합니다.The example uses the AdventureWorks sample database, which uses the simple recovery model by default. 데이터베이스 미러링을 이 데이터베이스에 사용하려면 전체 복구 모델을 사용하도록 변경해야 합니다.To use database mirroring with this database, you must alter it to use the full recovery model. Transact-SQLTransact-SQL에서 복구 모델을 변경하려면 다음과 같이 ALTER DATABASE 문을 사용하십시오.To do this in Transact-SQLTransact-SQL, use the ALTER DATABASE statement, as follows:

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

SQL Server Management StudioSQL Server Management Studio에서 복구 모델을 변경하는 방법에 대한 자세한 내용은 데이터베이스 복구 모델 보기 또는 변경(SQL Server)을 참조하세요.For information on changing the recovery model in SQL Server Management StudioSQL Server Management Studio, see View or Change the Recovery Model of a Database (SQL Server).

사용 권한Permissions

데이터베이스에 대한 ALTER 권한과 CREATE ENDPOINT 권한 또는 sysadmin 고정 서버 역할의 멤버 자격이 필요합니다.Requires ALTER permission on the database and CREATE ENDPOINT permission, or membership in the sysadmin fixed server role.

예제Example

이 예에서는 파트너 2개와 미러링 모니터 서버가 컴퓨터 시스템 3대의 기본 서버 인스턴스입니다.In this example, the two partners and the witness are the default server instances on three computer systems. 3개의 서버 인스턴스에서는 같은 Windows 도메인을 실행하지만 예에 나오는 미러링 모니터 서버 인스턴스에는 다른 사용자 계정(시작 서비스 계정으로 사용)이 사용됩니다.The three server instances run the same Windows domain, but the user account (used as the startup service account) is different for the example's witness server instance.

다음 표에서는 이 예에 사용된 값을 요약합니다.The following table summarizes the values used in this example.

초기 미러링 역할Initial mirroring role 호스트 시스템Host system 도메인 사용자 계정Domain user account
주 서버Principal PARTNERHOST1PARTNERHOST1 <Mydomain>\<dbousername><Mydomain>\<dbousername>
미러Mirror PARTNERHOST5PARTNERHOST5 <Mydomain>\<dbousername><Mydomain>\<dbousername>
미러링 모니터Witness WITNESSHOST4WITNESSHOST4 <Somedomain>\<witnessuser><Somedomain>\<witnessuser>
  1. 주 서버 인스턴스(PARTNERHOST1의 기본 인스턴스)에 끝점을 만듭니다.Create an endpoint on the principal server instance (default instance on 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 an endpoint on the mirror server instance (default instance on 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 an endpoint on the witness server instance (default instance on 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. 미러 데이터베이스를 만듭니다.Create the mirror database. 자세한 내용은 미러 데이터베이스의 미러링 준비(SQL Server)을 사용합니다.For more information, see Prepare a Mirror Database for Mirroring (SQL Server).

  5. PARTNERHOST5의 미러 서버 인스턴스에서 PARTNERHOST1의 서버 인스턴스를 초기 주 서버 인스턴스로 만들어 파트너로 설정합니다.On the mirror server instance on PARTNERHOST5, set the server instance on PARTNERHOST1 as the partner (making it the initial principal server instance).

    ALTER DATABASE AdventureWorks   
        SET PARTNER =   
        'TCP://PARTNERHOST1.COM:7022'  
    GO  
    
  6. PARTNERHOST1의 주 서버 인스턴스에서 PARTNERHOST5의 서버 인스턴스를 초기 미러 서버 인스턴스로 만들어 파트너로 설정합니다.On the principal server instance on PARTNERHOST1, set the server instance on PARTNERHOST5 as the partner (making it the initial mirror server instance).

    ALTER DATABASE AdventureWorks   
        SET PARTNER = 'TCP://PARTNERHOST5.COM:7022'  
    GO  
    
  7. 주 서버에서 WITNESSHOST4에 있는 미러링 모니터 서버를 설정합니다.On the principal server, set the witness (which is on WITNESSHOST4).

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

참고 항목See Also

ALTER DATABASE(Transact-SQL) ALTER DATABASE (Transact-SQL)
데이터베이스 미러링 끝점(SQL Server) The Database Mirroring Endpoint (SQL Server)
데이터베이스 미러링 및 Always On 가용성 그룹에 대한 전송 보안(SQL Server) Transport Security for Database Mirroring and Always On Availability Groups (SQL Server)
다른 서버 인스턴스에서 데이터베이스를 사용할 수 있도록 할 때 메타데이터 관리(SQL Server) Manage Metadata When Making a Database Available on Another Server Instance (SQL Server)
SQL Server 데이터베이스 엔진 및 Azure SQL Database에 대한 보안 센터Security Center for SQL Server Database Engine and Azure SQL Database