Compartir vía


sp_dbmmonitorresults (Transact-SQL)

Se aplica a: SQL Server

Devuelve las filas de estado de una base de datos supervisada de la tabla de estado en la que se almacena el historial de supervisión de la creación de reflejo de la base de datos y permite elegir si el procedimiento obtiene el estado más reciente de antemano.

Convenciones de sintaxis de Transact-SQL

Sintaxis

sp_dbmmonitorresults
    [ @database_name = ] N'database_name'
    [ , [ @mode = ] mode ]
    [ , [ @update_table = ] update_table ]
[ ; ]

Argumentos

[ @database_name = ] N'database_name'

Especifica la base de datos para la que se debe devolver el estado de la creación de reflejos. @database_name es sysname, sin ningún valor predeterminado.

[ @mode = ] modo

Especifica la cantidad de filas devueltas. @mode es int y puede ser uno de estos valores.

Valor Descripción
0 Última fila
1 Las filas duran dos horas
2 Las filas duran cuatro horas
3 Las filas duran ocho horas
4 Filas el último día
5 Las filas duran dos días
6 Últimas 100 filas
7 Últimas 500 filas
8 Últimas 1000 filas
9 Últimas 1000 000 filas

[ @update_table = ] update_table

Especifica que antes de devolver los resultados del procedimiento. @update_table es int, con un valor predeterminado de 0.

  • 0 = No actualiza el estado de la base de datos. Los resultados se calculan utilizando únicamente las dos últimas filas, cuya antigüedad depende de cuándo se actualizó la tabla de estado.

  • 1 = Actualiza el estado de la base de datos llamando a sp_dbmmonitorupdate antes de calcular los resultados. Sin embargo, si la tabla de estado se actualizó en los 15 segundos anteriores, o el usuario no es miembro del rol fijo de servidor sysadmin , sp_dbmmonitorresults se ejecuta sin actualizar el estado.

Valores de código de retorno

Ninguno.

Conjunto de resultados

Devuelve el número solicitado de filas de estado del historial para la base de datos especificada. Cada fila contiene la siguiente información:

Nombre de la columna Tipo de datos Descripción
database_name sysname Nombre de una base de datos reflejada.
role int Rol de creación de reflejos actual de la instancia del servidor:

1 = Entidad de seguridad
2 = Reflejo
mirroring_state int Estado de la base de datos:

0 = Suspendido
1 = Desconectado
2 = Sincronización
3 = Conmutación por error pendiente
4 = Sincronizado
witness_status int El estado de conexión del testigo en la sesión de creación de reflejo de la base de datos puede ser:

0 = Desconocido
1 = Conectado
2 = Desconectado
log_generation_rate int Cantidad (en kilobytes/seg.) de registro generado desde la actualización anterior del estado de la creación de reflejos de esta base de datos.
unsent_log int Tamaño (en kilobytes) del registro no enviado en la cola de envío del servidor principal.
send_rate int Tasa de envío (en kilobytes/seg.) del registro desde el servidor principal al servidor reflejado.
unrestored_log int Tamaño (en kilobytes) de la cola de puesta al día en el servidor reflejado.
recovery_rate int Tasa de puesta al día (en kilobytes/seg.) en el servidor reflejado.
transaction_delay int Retardo total (en milisegundos) para todas las transacciones.
transactions_per_sec int Número de transacciones por segundo en la instancia del servidor principal.
average_delay int Retardo medio en la instancia del servidor principal para cada transacción a causa de la creación de reflejo de la base de datos. En modo de alto rendimiento (es decir, cuando la SAFETY propiedad está establecida OFFen ), este valor suele ser 0.
time_recorded datetime Hora en la que el monitor de creación de reflejo de la base de datos registró la fila. Este valor es la hora del reloj del sistema de la entidad de seguridad.
time_behind datetime Hora aproximada del reloj del sistema del servidor principal a la que está asociada actualmente la base de datos reflejada. Este valor solo es significativo en la instancia del servidor principal.
local_time datetime Hora del reloj del sistema en la instancia local del servidor a la que se actualizó esta fila.

Comentarios

sp_dbmmonitorresults solo se puede ejecutar en el contexto de la msdb base de datos.

Permisos

Requiere la pertenencia al rol fijo de servidor sysadmin o al rol fijo de base de datos dbm_monitor en la msdb base de datos. El rol dbm_monitor permite a sus miembros ver el estado de creación de reflejo de la base de datos, pero no actualizarlo, pero no ver ni configurar eventos de creación de reflejo de la base de datos.

Nota:

La primera vez que sp_dbmmonitorupdate se ejecuta, crea el rol fijo de base de datos dbm_monitor en la msdb base de datos. Los miembros del rol fijo de servidor sysadmin pueden agregar cualquier usuario al rol fijo de base de datos dbm_monitor .

Ejemplos

El siguiente ejemplo devuelve las filas registradas durante las dos horas anteriores sin actualizar el estado de la base de datos.

USE msdb;
EXEC sp_dbmmonitorresults AdventureWorks2022, 2, 0;