장애 조치 후 단일 사용자 모드의 SQL Server 데이터베이스


2

다음은 SQL Server 2008 데이터베이스 미러링 장애 조치 (failover)에서 발생한 이상한 상황입니다.

고 가용성 모드에서 실행되는 미러링 된 데이터베이스 쌍이 있으며 주 서버와 미러 서버 모두 동기화 된 것으로 표시되었습니다. 일부 유지 관리의 일환으로 주 서버의 미러에 대한 수동 장애 조치를 트리거했습니다. 그러나 장애 조치 후 주체는 이제 예상되는 "Principal / Synchronized"상태 대신 단일 사용자 모드에있게되었습니다. 이 문제가 발생하기 전에 데이터베이스는 이전 사용자의 다중 사용자 모드였습니다. 결국 모든 응용 프로그램을 중지하고 SQL Server 인스턴스를 다시 시작한 후 "ALTER DATABASE ... SET MULTI_USER"를 실행하여 다중 사용자 모드에서 데이터베이스를 예상되는 "주요 / 동기화"상태로 되돌 렸습니다.

질문.

누구든지 SQL Server가 데이터베이스가 단일 사용자 모드인지 아닌지에 대한 정보를 저장하는 위치를 알고 있습니까? 이 설정이 기록 된 시스템 데이터베이스 나 테이블이 있는지 궁금합니다. 특히 데이터베이스를 분리하려고 할 때 단일 사용자 모드로 전환 된 원래 주체 (내가 페일 오버 한)의 데이터베이스에 대해 한 번 문제가 발생했습니다. 해당 설정이 어딘가에 캐시되어 있고 장애 조치 후 SQL Server가 단일 사용자 모드로 다시 전환 한 이유가 궁금합니다.


모든 sysadmins 및 DBA가 행 아웃하는 ServerFault.com에서이를 요청하는 것이 좋습니다 ....
marc_s

상태는 sys.databases 카탈로그 뷰의 user_access 컬럼 또는 DATABASEPROPERTYEX 함수의 UserAccess 특성을 검사하여 판별 할 수 있습니다. SELECT DATABASEPROPERTYEX('AdventureWorks2008R2', 'useraccess');
DaniSQL

SQL 서비스 팩을 적용한 유지 관리는 무엇입니까? 장애 조치 후 업그레이드 스크립트가 실행 중이었을 경우 다중 사용자 모드로 전환하기까지 얼마나 걸립니까? 또한 GUI 또는 ALTER DATABASE ... SET PARTNER FAILOVER를 사용하여 장애 조치에 어떤 방법을 사용하고 있습니까? Peter는 그 견해에 대해 맞습니다. 인스턴스마다 다르기 때문에 한 서버에서 사용자를, 다른 서버에서 멀티를 시뮬레이션하도록 설정할 수 있습니다.
Jason Cumberland

답변:


0

데이터베이스가 단일 사용자인지 다중 사용자인지에 대한 데이터베이스 뷰는 SQL Server 2005 이상에서 sys.databases입니다. 이는 user_access_desc 열입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.