다음은 SQL Server 2008 데이터베이스 미러링 장애 조치 (failover)에서 발생한 이상한 상황입니다.
고 가용성 모드에서 실행되는 미러링 된 데이터베이스 쌍이 있으며 주 서버와 미러 서버 모두 동기화 된 것으로 표시되었습니다. 일부 유지 관리의 일환으로 주 서버의 미러에 대한 수동 장애 조치를 트리거했습니다. 그러나 장애 조치 후 주체는 이제 예상되는 "Principal / Synchronized"상태 대신 단일 사용자 모드에있게되었습니다. 이 문제가 발생하기 전에 데이터베이스는 이전 사용자의 다중 사용자 모드였습니다. 결국 모든 응용 프로그램을 중지하고 SQL Server 인스턴스를 다시 시작한 후 "ALTER DATABASE ... SET MULTI_USER"를 실행하여 다중 사용자 모드에서 데이터베이스를 예상되는 "주요 / 동기화"상태로 되돌 렸습니다.
질문.
누구든지 SQL Server가 데이터베이스가 단일 사용자 모드인지 아닌지에 대한 정보를 저장하는 위치를 알고 있습니까? 이 설정이 기록 된 시스템 데이터베이스 나 테이블이 있는지 궁금합니다. 특히 데이터베이스를 분리하려고 할 때 단일 사용자 모드로 전환 된 원래 주체 (내가 페일 오버 한)의 데이터베이스에 대해 한 번 문제가 발생했습니다. 해당 설정이 어딘가에 캐시되어 있고 장애 조치 후 SQL Server가 단일 사용자 모드로 다시 전환 한 이유가 궁금합니다.
SELECT DATABASEPROPERTYEX('AdventureWorks2008R2', 'useraccess');