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 appelantsp_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 = Principal2 = Miroir |
mirroring_state |
int | État de la base de données :0 = Suspendu1 = Déconnecté2 = Synchronisation3 = Basculement en attente4 = 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 = Inconnu1 = 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;