역할 전환 후 로그인 및 작업 관리(SQL Server)

적용 대상:SQL Server

SQL Server 데이터베이스의 고가용성이나 재해 복구 솔루션을 배포할 경우 master의 데이터베이스나 msdb 데이터베이스에 저장된 관련 정보를 재현하는 것이 중요합니다. 대개 관련 정보에는 주 데이터베이스의 작업과 데이터베이스에 연결해야 하는 프로세스 또는 사용자의 로그인이 포함됩니다. 보조/미러 데이터베이스를 호스트하는 SQL Server 인스턴스에서 이 정보를 복제해야 합니다. 역할이 전환된 후 가능한 경우 새 주 데이터베이스에 대한 정보를 프로그래밍 방식으로 재현하는 것이 가장 좋습니다.

로그인

데이터베이스 복사본을 호스트하는 모든 서버 인스턴스에서 주 데이터베이스에 액세스할 수 있는 권한이 있는 로그인을 재현해야 합니다. 주 서버 역할이 전환되면 새 주 서버 인스턴스에 로그인이 있는 사용자만 새 주 데이터베이스에 액세스할 수 있습니다. 새 주 서버 인스턴스에서 정의되지 않은 로그인이 있는 사용자는 분리되어 데이터베이스에 액세스할 수 없습니다.

사용자가 분리되면 새 주 서버 인스턴스에 로그인을 만들고 sp_change_users_login을 실행합니다. 자세한 내용은 분리된 사용자 문제 해결(SQL Server)을 참조하세요.

SQL Server 인증 또는 로컬 Windows 로그인을 사용하는 애플리케이션 로그인

애플리케이션에서 SQL Server 인증이나 로컬 Windows 로그인을 사용하는 경우 일치하지 않는 SID로 인해 SQL Server의 원격 인스턴스에서 애플리케이션 로그인이 확인되지 않을 수 있습니다. 일치하지 않는 SID로 인해 해당 로그인이 원격 서버 인스턴스에서 분리된 사용자가 됩니다. 이 문제는 애플리케이션이 장애 조치(failover) 후 미러된 데이터베이스나 로그 전달 데이터베이스에 연결하거나 백업에서 초기화된 복제 구독자 데이터베이스에 연결할 때 발생할 수 있습니다.

이 문제를 방지하려면 SQL Server의 원격 인스턴스에서 호스트하는 데이터베이스를 사용하도록 애플리케이션을 설정할 때 예방 조치를 취하는 것이 좋습니다. 예방 조치에는 SQL Server의 로컬 인스턴스에서 SQL Server의 원격 인스턴스로 로그인과 비밀번호를 전송하는 작업이 포함됩니다. 이 문제를 방지하는 방법에 대한 자세한 내용은 기술 자료 문서 918992 - SQL Server 인스턴스 간에 로그인 및 비밀번호를 전송하는 방법을 참조하세요.

참고

이 문제는 다른 컴퓨터의 Windows 로컬 계정에 영향을 미칩니다. 그러나 각 컴퓨터에서 SID가 같으므로 도메인 계정에는 이 문제가 발생하지 않습니다.

자세한 내용은 데이터베이스 미러링 및 로그 전달을 사용하는 분리된 사용자(데이터베이스 엔진 블로그)를 참조하세요.

작업

백업 작업과 같은 작업을 수행하려면 특별한 주의가 필요합니다. 일반적으로 역할 전환 후 데이터베이스 소유자나 시스템 관리자는 새 주 데이터베이스에 대한 작업을 다시 만들어야 합니다.

이전 주 서버 인스턴스를 사용할 수 있으면 SQL Server 인스턴스에서 원래 작업을 삭제해야 합니다. 현재 미러 데이터베이스에 대한 작업이 RESTORING 상태이므로 실패하며 이 작업을 사용할 수 없습니다.

참고

서로 다른 드라이브 문자 등을 사용하여 SQL Server 인스턴스마다 다르게 구성할 수 있습니다. 각 파트너에 대한 작업에서 이러한 차이점을 허용해야 합니다.

참고 항목

다른 서버 인스턴스에서 데이터베이스를 사용할 수 있도록 할 때 메타데이터 관리(SQL Server)
분리된 사용자 문제 해결(SQL Server)