mssql logins-and-jobs-for-availability-group-databases

상시 가용성 그룹의 데이터베이스를 사용하여 작업에 대한 로그인 관리

Always On 가용성 그룹의 모든 기본 데이터베이스와 해당 보조 데이터베이스에서 동일한 사용자 로그인 및 SQL Server 에이전트 작업 집합을 정기적으로 유지 관리해야합니다.
가용성 그룹에 대한 가용성 복제본을 호스팅하는 모든 SQL Server 인스턴스에서 로그인 및 작업을 복제해야합니다.

  • SQL Server 에이전트 작업

원래 1 차 복제본을 호스트하는 서버 인스턴스에서 원래 2 차 복제본을 호스트하는 서버 인스턴스로 관련 작업을 수동으로 복사해야합니다.
모든 데이터베이스의 경우, 각 관련 작업의 시작 부분에 논리를 추가하여 작업이 기본 데이터베이스에서만 실행되도록해야합니다.
즉, 로컬 복제본이 데이터베이스의 기본 복제본 일 때만 수행해야합니다.

가용성 그룹의 가용성 복제본을 호스팅하는 서버 인스턴스는 다른 테이프 드라이브 문자 등으로 다르게 구성 될 수 있습니다.
가용성 복제본마다 이러한 차이가 허용되어야합니다.

백업 작업은 sys.fn_hadr_is_preferred_backup_replica 함수를 사용하여 가용성 그룹 백업 기본 설정에 따라 로컬 복제본이 백업용 기본 복제본인지 여부를 식별 할 수 있습니다.
유지 관리 계획 마법사를 사용하여 생성 된 백업 작업은 기본적으로이 기능을 사용합니다.
다른 백업 작업의 경우이 기능을 백업 작업의 조건으로 사용하여 기본 복제본에서만 실행하는 것이 좋습니다.
자세한 내용은 Active Secondaries : 보조 복제본의 백업 (가용성 그룹 항상 사용)을 참조하십시오.

  • 로그인

포함 된 데이터베이스를 사용하는 경우 데이터베이스에 포함 된 사용자를 구성 할 수 있으며 이러한 사용자의 경우 보조 복제본을 호스팅하는 서버 인스턴스에 로그인을 만들 필요가 없습니다. 포함되지 않은 가용성 데이터베이스의 경우 가용성 복제본을 호스팅하는 서버 인스턴스의 로그인에 대한 사용자를 만들어야합니다.
자세한 내용은 CREATE USER (Transact-SQL)를 참조하십시오 .

응용 프로그램 중 SQL Server 인증 또는 로컬 Windows 로그인을 사용하는 경우이 항목 뒷부분의 SQL Server 인증 또는 로컬 Windows 로그인을 사용하는 응용 프로그램의 로그인을 참조하십시오 .

SQL Server 로그인이 정의되지 않았거나 서버 인스턴스에서 잘못 정의 된 데이터베이스 사용자는 인스턴스에 로그인 할 수 없습니다.
이러한 사용자는 해당 서버 인스턴스에있는 데이터베이스 의 고아 사용자 라고합니다.
주어진 서버 인스턴스에서 사용자가 고아가되면 언제든지 사용자 로그인을 설정할 수 있습니다.
자세한 내용은 고아 사용자 (SQL Server) 문제 해결을 참조하십시오 .

  • 추가 메타 데이터

지정된 가용성 그룹에 대한 보조 복제본을 호스팅하는 각 서버 인스턴스에서 로그인 및 작업 만 다시 작성해야하는 정보는 아닙니다.
예를 들어 서버 구성 설정, 자격 증명, 암호화 된 데이터, 사용 권한, 복제 설정, 서비스 브로커 응용 프로그램, 트리거 (서버 수준에서) 등을 다시 만들어야 할 수 있습니다.
자세한 내용 은 다른 서버 인스턴스에서 데이터베이스를 사용할 수있게 만들 때 메타 데이터 관리 (SQL Server)를 참조하십시오 .

SQL Server 인증 또는 로컬 Windows 로그인을 사용하는 응용 프로그램의 로그인

응용 프로그램에서 SQL Server 인증 또는 로컬 Windows 로그인을 사용하면 일치하지 않는 SID로 인해 응용 프로그램의 로그인이 원격 SQL Server 인스턴스에서 해결되지 않을 수 있습니다.
일치하지 않는 SID로 인해 로그인은 원격 서버 인스턴스에서 고아 사용자가됩니다.
이 문제는 응용 프로그램이 장애 조치 후에 미러 된 데이터베이스 또는 로그 전달 데이터베이스에 연결하거나 백업에서 초기화 된 복제 구독자 데이터베이스에 연결하는 경우 발생할 수 있습니다.

이 문제를 방지하려면 SQL Server의 원격 인스턴스에서 호스팅하는 데이터베이스를 사용하도록 응용 프로그램을 설정할 때 예방 조치를 취하는 것이 좋습니다.
예방은 로그인과 암호를 SQL Server의 로컬 인스턴스에서 SQL Server의 원격 인스턴스로 전송하는 것입니다.
이 문제를 방지하는 방법에 대한 자세한 내용은 기술 자료 문서 918992- SQL Server 인스턴스간에 로그인 및 암호를 전송하는 방법을 참조하십시오 .

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

참조