예: Windows 인증을 사용하여 데이터베이스 미러링 설정(Transact-SQL)
이 예에서는 Windows 인증을 사용하는 미러링 모니터 서버가 있는 데이터베이스 미러링 세션을 만드는 데 필요한 모든 단계를 보여 줍니다. 이 항목의 예에서는 Transact-SQL을 사용합니다. Transact-SQL 단계를 사용하는 대신 데이터베이스 미러링 보안 구성 마법사를 데이터베이스 미러링 설치에 사용할 수도 있습니다. 자세한 내용은 데이터베이스 미러링 관리(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 Management Studio)을 참조하십시오.
예
이 예에서는 파트너 2개와 미러링 모니터 서버가 컴퓨터 시스템 3대의 기본 서버 인스턴스입니다. 3개의 서버 인스턴스에서는 같은 Windows 도메인을 실행하지만 예에 나오는 미러링 모니터 서버 인스턴스에는 다른 사용자 계정이 사용됩니다.
다음 표에서는 이 예에 사용된 값을 요약합니다.
초기 미러링 역할 |
호스트 시스템 |
도메인 사용자 계정 |
---|---|---|
보안 주체 |
PARTNERHOST1 |
<Mydomain>\<dbousername> |
미러 서버 |
PARTNERHOST5 |
<Mydomain>\<dbousername> |
미러링 모니터 서버 |
WITNESSHOST4 |
<Somedomain>\<witnessuser> |
주 서버 인스턴스(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]; GO
미러 서버 인스턴스(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]; GO
미러링 모니터 서버 인스턴스(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
미러 데이터베이스를 만듭니다. 자세한 내용은 방법: 미러 데이터베이스의 미러링 준비(Transact-SQL)를 참조하십시오.
PARTNERHOST5의 미러 서버 인스턴스에서 PARTNERHOST1의 서버 인스턴스를 초기 주 서버 인스턴스로 만들어 파트너로 설정합니다.
ALTER DATABASE AdventureWorks SET PARTNER = 'TCP://PARTNERHOST1.COM:7022' GO
PARTNERHOST1의 주 서버 인스턴스에서 PARTNERHOST5의 서버 인스턴스를 초기 미러 서버 인스턴스로 만들어 파트너로 설정합니다.
ALTER DATABASE AdventureWorks SET PARTNER = 'TCP://PARTNERHOST5.COM:7022' GO
주 서버에서 WITNESSHOST4에 있는 미러링 모니터 서버를 설정합니다.
ALTER DATABASE AdventureWorks SET WITNESS = 'TCP://WITNESSHOST4.COM:7022' GO