En tant qu’utilisateur de SQL Server, vous avez peut-être rencontré le terme “UpdateLoginStats” lors de la surveillance de l’activité de votre serveur. Dans cet article de blog, nous explorerons ce qu’est UpdateLoginStats et comment il affecte votre environnement SQL Server.
Lors d’un test de stress, vous avez peut-être remarqué que pour chaque connexion, il y a une transaction SQL supplémentaire avec le nom d’objet “UpdateLoginStats” apparaissant avant la transaction “Audit Login”. Au début, vous pourriez penser qu’il s’agit d’un déclencheur de connexion que vous avez créé, mais après une enquête plus approfondie, vous réalisez qu’aucun déclencheur de ce type n’est défini.
Alors, qu’est-ce que UpdateLoginStats et que fait-il? Lorsque la fonctionnalité “Conformité aux critères communs” est activée dans SQL Server, l’option UpdateLoginStats est activée. Cette option met à jour les statistiques de connexion pour chaque demande de connexion. Elle permet également une journalisation de sécurité supplémentaire, qui peut être consultée en interrogeant la vue de gestion dynamique sys.dm_exec_sessions.
Pour afficher les statistiques de connexion, vous pouvez exécuter la requête suivante:
SELECT session_id, original_login_name, last_successful_logon, last_unsuccessful_logon, unsuccessful_logons
FROM sys.dm_exec_sessions
WHERE is_user_process = 1
En activant la fonctionnalité “Conformité aux critères communs”, vous pouvez suivre l’activité de connexion et recueillir des informations précieuses sur les connexions réussies et infructueuses.
Si vous souhaitez désactiver l’option UpdateLoginStats, vous pouvez utiliser les commandes suivantes:
EXEC sys.sp_configure N'common criteria compliance enabled', N'0'
GO
RECONFIGURE WITH OVERRIDE
GO
Une fois désactivée, vous pouvez capturer à nouveau le profilage, et vous remarquerez qu’il n’y a pas de transactions supplémentaires avant la connexion. Les colonnes liées aux statistiques de connexion seront également NULL.
Il est important de noter que l’exploration et la compréhension de ces fonctionnalités et options peuvent parfois nécessiter de casser des choses et de les remettre en place. En expérimentant et en enquêtant, vous pouvez acquérir une compréhension plus approfondie des aspects internes de SQL Server.
Enfin, dans la capture d’écran fournie dans l’article exemple, il y a une autre transaction appelée “CSECAuthMedAccess::InitReadWrite” mentionnée. Malheureusement, l’article ne fournit pas plus d’informations sur cette transaction. Si vous l’avez rencontrée et avez des informations sur ses aspects internes, nous serions ravis d’en apprendre davantage de votre part.
Restez à l’écoute pour plus de conseils et d’informations sur SQL Server!