FirebirdSQL logo

MON$ATTACHMENTS

Informations sur les connexions actuelles à la base de données.

Table 1. Description des colonnes de la table MON$ATTACHMENTS
Nom de la colonne Type de données Description

MON$ATTACHMENT_ID

BIGINT

Identifiant

MON$SERVER_PID

INTEGER

L’identifiant du processus du serveur.

MON$STATE

SMALLINT

État de la connexion :

  • 0 — inactif ;

  • 1 — actif.

MON$ATTACHMENT_NAME

VARCHAR(255)

La chaîne de connexion est le chemin complet du fichier et le nom du fichier de la base de données primaire.

MON$USER

CHAR(63)

Le nom de l’utilisateur connecté à la base de données.

MON$ROLE

CHAR(63)

Le nom du rôle spécifié lors de la connexion. Si aucun rôle n’a été spécifié au moment de la connexion, le champ contient le texte NONE.

MON$REMOTE_PROTOCOL

VARCHAR(10)

Le protocole réseau utilisé.

MON$REMOTE_ADDRESS

VARCHAR(255)

Adresse du client distant.

MON$REMOTE_PID

INTEGER

L’identifiant du processus client.

MON$CHARACTER_SET_ID

SMALLINT

L’identifiant du jeu de caractères dans la connexion.

MON$TIMESTAMP

TIMESTAMP

Date et heure du début de la connexion.

MON$GARBAGE_COLLECTION

SMALLINT

Indicateur de collecte des ordures (spécifié dans les DPB lors de la connexion) :1 - autorisé, 0 - non autorisé.

MON$REMOTE_PROCESS

VARCHAR(255)

Le chemin d’accès complet au fichier et le nom du logiciel qui a établi la connexion.

MON$STAT_ID

INTEGER

Identificateur statistique.

MON$CLIENT_VERSION

VARCHAR(255)

Version de la bibliothèque du client.

MON$REMOTE_VERSION

VARCHAR(255)

Version du protocole réseau.

MON$REMOTE_HOST

VARCHAR(255)

Nom d’hôte du client distant.

MON$REMOTE_OS_USER

VARCHAR(255)

Nom d’utilisateur dans le système d’exploitation du client.

MON$AUTH_METHOD

VARCHAR(255)

La méthode d’authentification utilisée lors de la connexion.

MON$SYSTEM_FLAG

SMALLINT

Indicateur que la connexion est une connexion système :

  • 0 — connexion de l’utilisateur ;

  • 1 — connexion au système.

MON$IDLE_TIMEOUT

INTEGER

Délai d’inactivité de la connexion au niveau de la connexion. Contient la valeur du délai d’inactivité du niveau de connexion, en secondes. Si le délai n’est pas défini — 0.

MON$IDLE_TIMER

TIMESTAMP

L’heure d’expiration de la minuterie d’inactivité. Contient NULL si aucun délai d’inactivité de la connexion n’a été défini, ou si aucune minuterie n’est en cours.

MON$STATEMENT_TIMEOUT

INTEGER

Délai d’attente pour les instructions SQL au niveau de la connexion. Contient la valeur du délai d’attente défini au niveau de la connexion, en millisecondes. Si le délai n’est pas défini — 0.

MON$WIRE_COMPRESSED

BOOLEAN

Si la compression du trafic réseau est utilisée. Si la compression du trafic réseau est utilisée, la valeur est TRUE, sinon FALSE. Pour les connexions embarquées, elle renvoie NULL.

MON$WIRE_ENCRYPTED

BOOLEAN

Si le cryptage du trafic réseau est utilisé. Si le cryptage du trafic réseau est utilisé, la valeur est TRUE, sinon FALSE. Pour les connexions embarquées — renvoie NULL.

MON$WIRE_CRYPT_PLUGIN

CHAR(63)

Nom du plugin de cryptage du trafic réseau actuel, s’il est utilisé, sinon NULL.

MON$SESSION_TIMEZONE

CHAR(63)

Le fuseau horaire actuel de la connexion.

MON$PARALLEL_WORKERS

INTEGER

Nombre maximal de flux de travail simultanés pour cette connexion. 1 signifie qu’il n’y a pas de flux de travail simultanés.Les connexions Garbage Collector et Cache Writer peuvent indiquer 0.

Example 1. Obtenir des informations sur les applications clientes
SELECT MON$USER, MON$REMOTE_ADDRESS, MON$REMOTE_PID, MON$TIMESTAMP
FROM MON$ATTACHMENTS
WHERE MON$ATTACHMENT_ID <> CURRENT_CONNECTION

Utiliser les MON$ATTACHMENTS pour fermer les connexions

Les tables de surveillance sont en lecture seule, mais le serveur dispose d’un mécanisme intégré pour supprimer (et uniquement supprimer) les enregistrements de la table MON$ATTACHMENTS, ce qui vous permet de fermer la connexion à la base de données.

Note
  • Toute activité en cours sur la connexion supprimée est immédiatement arrêtée et toutes les transactions actives sont annulées (les déclencheurs des événements "ON DISCONNECT" et "ON TRANSACTION ROLLBACK" ne sont pas appelés) ;

  • Une connexion fermée renverra un code d’erreur isc_att_shutdown à l’application ;

  • Les tentatives ultérieures d’utilisation de cette connexion (c’est-à-dire l’utilisation de son handle dans les appels API) renverront des erreurs ;

  • La fin des connexions système (MON$SYSTEM_FLAG = 1) n’est pas possible. Le serveur ignore les connexions système affectées par l’instruction DELETE FROM MON$ATTACHMENTS.

Example 1. Déconnecter toutes les connexions sauf la vôtre
DELETE FROM MON$ATTACHMENTS
WHERE MON$ATTACHMENT_ID <> CURRENT_CONNECTION