sp_dbmmonitorresults(Transact-SQL)

적용 대상:SQL Server

데이터베이스 미러링 모니터링 기록이 저장된 상태 테이블에서 모니터링된 데이터베이스에 대한 상태 행을 반환하고 프로시저에서 최신 상태를 미리 가져올지 여부를 선택할 수 있도록 합니다.

Transact-SQL 구문 표기 규칙

구문

  
sp_dbmmonitorresults database_name   
   , rows_to_return  
    , update_status   

인수

database_name
미러링 상태를 반환할 데이터베이스를 지정합니다.

rows_to_return
반환되는 행 수를 지정합니다.

0 = 마지막 행

1 = 행이 2시간 동안 지속됩니다.

2 = 마지막 4시간 동안의 행

3 = 지난 8시간 행

4 = 지난 날 행

5 = 지난 2일 행

6 = 최근 100개 행

7 = 최근 500개 행

8 = 최근 1,000개 행

9 = 최근 1,000,000개 행

update_status
결과를 반환하기 전의 프로시저 동작을 지정합니다.

0 = 데이터베이스의 상태를 업데이트하지 않습니다. 결과는 마지막 두 개의 행만 사용하여 계산되고 두 행의 사용 기간은 상태 테이블의 새로 고침 시기에 따라 달라집니다.

1 = 결과를 계산하기 전에 sp_dbmmonitorupdate 호출하여 데이터베이스의 상태를 업데이트합니다. 그러나 이전 15초 이내에 상태 테이블이 업데이트되었거나 사용자가 sysadmin 고정 서버 역할멤버가 아닌 경우 상태를 업데이트하지 않고 sp_dbmmonitorresults 실행됩니다.

반환 코드 값

아니요

결과 집합

지정된 데이터베이스에 대해 요청된 기록 상태 행 수를 반환합니다. 각 행에는 다음 정보가 포함됩니다.

열 이름 데이터 형식 설명
database_name sysname 미러된 데이터베이스의 이름입니다.
역할 int 서버 인스턴스의 현재 미러링 역할:

1 = 보안 주체

2 = 미러
mirroring_state int 데이터베이스의 상태:

0 = 일시 중단됨

1 = 연결 끊김

2 = 동기화

3 = 장애 조치(Failover) 보류 중

4 = 동기화됨
witness_status int 데이터베이스의 데이터베이스 미러링 세션에 있는 미러링 모니터 서버의 연결 상태는 다음과 같습니다.

0 = 알 수 없음

1 = 연결됨

2 = 연결 끊김
log_generation_rate int 이 데이터베이스의 미러링 상태 업데이트 이후 생성된 로그의 양(KB/초)입니다.
unsent_log int 보안 주체의 송신 큐에 있는 보내지 않은 로그의 크기(킬로바이트)입니다.
send_rate int 보안 주체에서 미러로 로그 전송 속도(KB/초)입니다.
unrestored_log int 미러의 다시 실행 큐 크기(킬로바이트)입니다.
recovery_rate int 미러의 다시 실행 속도(KB/초)입니다.
transaction_delay int 모든 트랜잭션의 총 지연 시간(밀리초)입니다.
transactions_per_sec int 주 서버 인스턴스에서 초당 발생하는 트랜잭션 수입니다.
average_delay int 데이터베이스 미러링으로 인해 각 트랜잭션에 대한 주 서버 인스턴스의 평균 지연. 고성능 모드(즉, SAFETY 속성이 OFF로 설정된 경우)에서 이 값은 일반적으로 0입니다.
time_recorded datetime 데이터베이스 미러링 모니터에서 행을 기록한 시간입니다. 주 서버의 시스템 클럭 시간입니다.
time_behind datetime 미러 데이터베이스가 현재 catch되는 보안 주체의 대략적인 시스템 클록 시간입니다. 이 값은 주 서버 인스턴스에서만 의미가 있습니다.
Local_time datetime 이 행이 업데이트된 로컬 서버 인스턴스의 시스템 시계 시간입니다.

설명

sp_dbmmonitorresults msdb 데이터베이스의 컨텍스트에서만 실행할 수 있습니다.

사용 권한

sysadmin 고정 서버 역할 또는 msdb 데이터베이스의 dbm_monitor 고정 데이터베이스 역할의 멤버 자격이 필요합니다. dbm_monitor 역할을 사용하면 멤버가 데이터베이스 미러링 상태를 볼 수 있지만 업데이트하지는 않지만 데이터베이스 미러링 이벤트를 보거나 구성할 수는 없습니다.

참고 항목

sp_dbmmonitorupdate 처음으로 실행되면 msdb 데이터베이스에 dbm_monitor 고정 데이터베이스 역할을 만듭니다. sysadmin 고정 서버 역할의 멤버는 모든 사용자를 dbm_monitor 고정 데이터베이스 역할에 추가할 수 있습니다.

다음 예제에서는 데이터베이스의 상태를 업데이트하지 않고 이전 2시간 동안 기록된 행을 반환합니다.

USE msdb;  
EXEC sp_dbmmonitorresults AdventureWorks2022, 2, 0;  

참고 항목

데이터베이스 미러링 모니터링(SQL Server)
sp_dbmmonitorchangemonitoring(Transact-SQL)
sp_dbmmonitoraddmonitoring(Transact-SQL)
sp_dbmmonitordropmonitoring(Transact-SQL)
sp_dbmmonitorhelpmonitoring(Transact-SQL)
sp_dbmmonitorupdate(Transact-SQL)