데이터베이스 미러링 끝점의 인바운드 연결에 대한 인증서 사용 허용(Transact-SQL)

이 항목에서는 인증서를 사용하여 데이터베이스 미러링의 인바운드 연결을 인증하도록 서버 인스턴스를 구성하는 단계에 대해 설명합니다. 인바운드 연결을 설정하려면 먼저 각 서버 인스턴스에서 아웃바운드 연결을 구성해야 합니다. 자세한 내용은 데이터베이스 미러링 끝점의 아웃바운드 연결에 대한 인증서 사용 허용(Transact-SQL)을 참조하십시오.

인바운드 연결 구성은 대개 다음과 같은 단계로 진행됩니다.

  1. 다른 시스템에 대한 로그인을 만듭니다.

  2. 해당 로그인의 사용자를 만듭니다.

  3. 다른 서버 인스턴스의 미러링 끝점에 대한 인증서를 얻습니다.

  4. 2단계에서 만든 사용자에 인증서를 연결합니다.

  5. 해당 미러링 끝점에 대한 로그인에 CONNECT 권한을 부여합니다.

미러링 모니터가 있는 경우 그에 대한 인바운드 연결도 설정해야 합니다. 이렇게 하려면 양쪽 파트너 모두에서 미러링 모니터에 대한 로그인, 사용자 및 인증서를 설정해야 합니다.

다음 절차에서 이러한 단계를 자세히 설명합니다. 각 단계에서는 HOST_A라는 시스템에서 서버 인스턴스를 구성하는 예를 제공합니다. 예 섹션에서는 HOST_B라는 시스템에 또 다른 서버 인스턴스를 구성하는 동일한 단계를 보여 줍니다.

인바운드 미러링 연결을 위한 서버 인스턴스를 구성하려면(HOST_A)

  1. 다른 시스템에 대한 로그인을 만듭니다.

    다음 예에서는 HOST_A에 있는 서버 인스턴스의 master 데이터베이스에서 HOST_B 시스템에 대한 로그인을 만듭니다. 이 예에서 로그인 이름은 HOST_B_login입니다. 예제 암호를 자신의 암호로 대체합니다.

    USE master;
    CREATE LOGIN HOST_B_login 
       WITH PASSWORD = '1Sample_Strong_Password!@#';
    GO
    

    자세한 내용은 CREATE LOGIN(Transact-SQL)을 참조하십시오.

    이 서버 인스턴스에서 사용자를 보려면 다음 Transact-SQL 문을 실행합니다.

    SELECT * FROM sys.server_principals
    

    자세한 내용은 sys.server_principals(Transact-SQL)를 참조하십시오.

  2. 해당 로그인의 사용자를 만듭니다.

    다음 예에서는 이전 단계에서 만든 로그인에 대해 사용자 HOST_B_user를 만듭니다.

    USE master;
    CREATE USER HOST_B_user FOR LOGIN HOST_B_login;
    GO
    

    자세한 내용은 CREATE USER(Transact-SQL)를 참조하십시오.

    이 서버 인스턴스에서 로그인을 보려면 다음 Transact-SQL 문을 실행합니다.

    SELECT * FROM sys.sysusers;
    

    자세한 내용은 sys.sysusers(Transact-SQL)를 참조하십시오.

  3. 다른 서버 인스턴스의 미러링 끝점에 대한 인증서를 얻습니다.

    아웃바운드 연결을 구성할 때 아직 인증서를 가져오지 못했으면 원격 서버 인스턴스의 미러링 끝점에 대한 인증서 사본을 얻습니다. 이렇게 하려면 데이터베이스 미러링 끝점의 아웃바운드 연결에 대한 인증서 사용 허용(Transact-SQL)에 설명된 대로 서버 인스턴스에서 인증서를 백업합니다. 인증서를 다른 시스템에 복사할 때는 안전한 복사 방법을 사용하십시오. 모든 인증서를 안전하게 보관하는 데 많은 주의를 기울여야 합니다.

    자세한 내용은 BACKUP CERTIFICATE(Transact-SQL)를 참조하십시오.

  4. 2단계에서 만든 사용자에 인증서를 연결합니다.

    다음 예에서는 HOST_B의 인증서를 HOST_A에 있는 해당 사용자와 연결합니다.

    USE master;
    CREATE CERTIFICATE HOST_B_cert
       AUTHORIZATION HOST_B_user
       FROM FILE = 'C:\HOST_B_cert.cer'
    GO
    

    자세한 내용은 CREATE CERTIFICATE(Transact-SQL)를 참조하십시오.

    이 서버 인스턴스에서 인증서를 보려면 다음 Transact-SQL 문을 실행합니다.

    SELECT * FROM sys.certificates
    

    자세한 내용은 sys.certificates(Transact-SQL)를 참조하십시오.

  5. 해당 원격 미러링 끝점에 대한 로그인에 CONNECT 권한을 부여합니다.

    예를 들어 HOST_B에 있는 원격 서버 인스턴스에 대해 HOST_A에서 로컬 로그인에 연결하는 권한을 부여하려면 즉, HOST_B_login에 연결하려면 다음 Transact-SQL 문을 사용합니다.

    USE master;
    GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [HOST_B_login];
    GO
    

    자세한 내용은 GRANT 끝점 사용 권한(Transact-SQL)을 참조하십시오.

이로써 HOST_B에서 HOST_A에 로그인하기 위한 인증서 인증 설정이 끝났습니다.

이제 HOST_B에서 HOST_A에 대한 같은 인바운드 단계를 수행해야 합니다. 이러한 단계는 아래에 있는 예 섹션의 인바운드 부분 예에 설명되어 있습니다.

다음 예에서는 인바운드 연결을 위한 HOST_B 구성을 보여 줍니다.

[!참고]

이 예에서는 데이터베이스 미러링 끝점의 아웃바운드 연결에 대한 인증서 사용 허용(Transact-SQL)의 코드 조각으로 만든 HOST_A 인증서가 포함된 인증서 파일을 사용합니다.

USE master;
--On HOST_B, create a login for HOST_A.
CREATE LOGIN HOST_A_login WITH PASSWORD = 'AStrongPassword!@#';
GO
--Create a user, HOST_A_user, for that login.
CREATE USER HOST_A_user FOR LOGIN HOST_A_login
GO
--Obtain HOST_A certificate. (See the note 
--   preceding this example.)
--Asscociate this certificate with the user, HOST_A_user.
CREATE CERTIFICATE HOST_A_cert
   AUTHORIZATION HOST_A_user
   FROM FILE = 'C:\HOST_A_cert.cer';
GO
--Grant CONNECT permission for the server instance on HOST_A.
GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO HOST_A_login
GO

자동 장애 조치(failover)를 지원하는 보호 우선 모드에서 실행하려는 경우 아웃바운드 및 인바운드 연결에 대한 미러링 모니터를 구성하기 위해 같은 설정 단계를 반복해야 합니다.

미러 데이터베이스를 만드는 방법(Transact-SQL 예 포함)에 대한 자세한 내용은 미러 데이터베이스의 미러링 준비(SQL Server)를 참조하십시오.

고성능 모드 세션을 설정하는 Transact-SQL 예는 예: 인증서를 사용하여 데이터베이스 미러링 설정(Transact-SQL)을 참조하십시오.

보안

인증서를 다른 시스템에 복사할 때는 안전한 복사 방법을 사용하십시오. 모든 인증서를 안전하게 보관하는 데 많은 주의를 기울여야 합니다.

참고 항목

참조

GRANT 끝점 사용 권한(Transact-SQL)

개념

데이터베이스 미러링 및 AlwaysOn 가용성 그룹에 대한 전송 보안(SQL Server)

암호화된 미러 데이터베이스 설정

데이터베이스 미러링 끝점(SQL Server)

데이터베이스 미러링 구성 문제 해결(SQL Server)