이 예제에서는 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> |
주 서버 인스턴스(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미러 서버 인스턴스(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감시 서버 인스턴스(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미러 데이터베이스를 만듭니다. 자세한 내용은 미러 데이터베이스의 미러링 준비(SQL Server)를 참조하세요.
PARTNERHOST5 미러 서버 인스턴스에서 PARTNERHOST1 서버 인스턴스를 파트너로 설정합니다(초기 주 서버 인스턴스로 만들기).
ALTER DATABASE AdventureWorks SET PARTNER = 'TCP://PARTNERHOST1.COM:7022' GOPARTNERHOST1 주 서버 인스턴스에서 PARTNERHOST5 서버 인스턴스를 파트너로 설정합니다(초기 미러 서버 인스턴스로 만들기).
ALTER DATABASE AdventureWorks SET PARTNER = 'TCP://PARTNERHOST5.COM:7022' GO주 서버에서 감시(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