Partage via


sp_dbmmonitorresults (Transact-SQL)

S'applique à : SQL Server

Retourne les lignes d’état d’une base de données surveillée à partir de la table d’état dans laquelle l’historique de surveillance de la mise en miroir de bases de données est stocké et vous permet de choisir si la procédure obtient l’état le plus récent au préalable.

Conventions de la syntaxe Transact-SQL

Syntaxe

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

Arguments

[ @database_name = ] N’database_name'

Spécifie la base de données dont l'état de mise en miroir doit être retourné. @database_name est sysname, sans valeur par défaut.

[ @mode = ] mode

Spécifie la quantité de lignes retournées. @mode est int et peut être l’une de ces valeurs.

Valeur Description
0 Dernière ligne
1 Les lignes durent deux heures
2 Les lignes durent quatre heures
3 Les lignes durent huit heures
4 Lignes le dernier jour
5 Lignes les deux derniers jours
6 Dernières 100 lignes
7 Dernières 500 lignes
8 1 000 dernières lignes
9 Dernières 1 000 000 lignes

[ @update_table = ] update_table

Spécifie qu’avant de retourner les résultats de la procédure. @update_table est int, avec la valeur par défaut 0.

  • 0 = Ne met pas à jour l’état de la base de données. Les résultats sont calculés à l'aide des deux dernières lignes uniquement, dont l'âge dépend du moment auquel la table d'état a été actualisée ;

  • 1 = Met à jour l’état de la base de données en appelant sp_dbmmonitorupdate avant de calculer les résultats. Toutefois, si la table d’état a été mise à jour au cours des 15 secondes précédentes ou si l’utilisateur n’est pas membre du rôle serveur fixe sysadmin , sp_dbmmonitorresults s’exécute sans mettre à jour l’état.

Valeurs des codes de retour

Aucune.

Jeu de résultats

Retourne le nombre demandé de lignes de l'état d'historique pour la base de données spécifiée. Chaque ligne contient les informations suivantes :

Nom de la colonne Type de données Description
database_name sysname Nom d'une base de données mise en miroir.
role int Rôle de mise en miroir actuel de l'instance du serveur :

1 = Principal
2 = Miroir
mirroring_state int État de la base de données :

0 = Suspendu
1 = Déconnecté
2 = Synchronisation
3 = Basculement en attente
4 = Synchronisé
witness_status int L'état de connexion du témoin dans la session de mise en miroir de la base de données peut être :

0 = Inconnu
1 = Connecté
2 = Déconnecté
log_generation_rate int Quantité de journal générée, en kilo-octets/s, depuis la précédente mise à jour de l'état de mise en miroir de cette base de données.
unsent_log int Taille, en kilo-octets, du journal non envoyé dans la file d'attente d'envoi sur le principal.
send_rate int Débit d'envoi du journal, en kilo-octets/s, depuis le principal vers le serveur miroir.
unrestored_log int Taille, en kilo-octets, de la file d'attente de restauration par progression sur le serveur miroir.
recovery_rate int Débit de la restauration par progression sur le serveur miroir, en kilo-octets/s.
transaction_delay int Délai total, en millisecondes, de toutes les transactions.
transactions_per_sec int Nombre de transactions par seconde sur l'instance du serveur principal.
average_delay int Délai moyen de chaque transaction sur l'instance du serveur principal grâce à la mise en miroir de bases de données. En mode hautes performances (autrement dit, lorsque la SAFETY propriété est définie sur OFF), cette valeur est généralement 0.
time_recorded datetime Heure à laquelle le moniteur de mise en miroir de bases de données a enregistré la ligne. Cette valeur est l’heure de l’horloge système du principal.
time_behind datetime Heure système approximative du principal sur laquelle la base de données miroir est actuellement synchronisée. Cette valeur n'est significative que sur l'instance du serveur principal.
local_time datetime Heure système sur l'instance du serveur local à laquelle cette ligne a été mise à jour.

Notes

sp_dbmmonitorresults peut être exécuté uniquement dans le contexte de la msdb base de données.

autorisations

Nécessite l’appartenance au rôle serveur fixe sysadmin ou au rôle de base de données fixe dbm_monitor dans la msdb base de données. Le rôle dbm_monitor permet à ses membres d’afficher l’état de mise en miroir de bases de données, mais pas de le mettre à jour, mais pas d’afficher ou de configurer des événements de mise en miroir de bases de données.

Remarque

La première fois qu’elle sp_dbmmonitorupdate s’exécute, elle crée le rôle de base de données fixe dbm_monitor dans la msdb base de données. Les membres du rôle serveur fixe sysadmin peuvent ajouter n’importe quel utilisateur au rôle de base de données fixe dbm_monitor .

Exemples

L'exemple suivant retourne les lignes enregistrées au cours des deux heures précédentes sans mettre à jour l'état de la base de données.

USE msdb;
EXEC sp_dbmmonitorresults AdventureWorks2022, 2, 0;