Partage via


SQL Server, objet User Settable

S’applique à : SQL Server

L’objet User Settable dans Microsoft SQL Server vous permet de créer des instances de compteur personnalisées. Utilisez des instances de compteur personnalisées pour surveiller les aspects du serveur non surveillés par les compteurs existants, tels que les composants propres à votre base de données SQL Server (par exemple, le nombre de commandes client enregistrées ou l’inventaire des produits).

L’objet User Settable contient 10 instances du compteur de requêtes : du Compte utilisateur 1 au Compte utilisateur 10. Ces compteurs sont mappés aux procédures sp_user_counter1 stockées SQL Server via sp_user_counter10. Comme ces procédures stockées sont exécutées par les applications de l'utilisateur, les valeurs définies par les procédures stockées sont affichées dans le Moniteur système. Un compteur peut surveiller toute valeur entière (par exemple une procédure stockée qui compte combien de fois un produit en particulier a été commandé en un jour).

Remarque

Les procédures stockées des compteurs utilisateur ne sont pas automatiquement interrogées par le Moniteur système. Pour que les valeurs d'un compteur soient mises à jour, les procédures doivent être explicitement exécutées par une application de l'utilisateur. Utilisez un déclencheur pour mettre automatiquement à jour la valeur du compteur.

Ce tableau décrit l’objet SQL Server User Settable .

Compteurs SQL Server User Settable Description
Requête L’objet User Settable contient le compteur de requêtes. Les utilisateurs configurent chaque compteur utilisateur dans l’objet de requête. Chaque compteur est un type de données entier.

Le tableau décrit les instances du compteur de requêtes .

Instances du compteur de requêtes Description
Compte utilisateur 1 Défini avec sp_user_counter1.
Compteur utilisateur 2 Défini avec sp_user_counter2.
Compteur utilisateur 3 Défini avec sp_user_counter3.
...
Compte utilisateur 10 Défini avec sp_user_counter10.

Définir la valeur du compteur utilisateur

Pour utiliser les procédures stockées du compteur utilisateur, exécutez-les à partir de votre propre application avec un seul paramètre entier qui représente la nouvelle valeur prise par le compteur. Par exemple, pour faire passer le compteur utilisateur 1 à la valeur 10, exécutez cette instruction Transact-SQL :

EXECUTE dbo.sp_user_counter1 10;

Les procédures stockées du compteur utilisateur peuvent être appelées à partir de tout endroit où les autres procédures stockées peuvent être appelées, par exemple vos propres procédures stockées. Par exemple, vous pouvez créer la procédure stockée suivante pour compter le nombre de connexions et tentatives de connexions depuis le démarrage d’une instance de SQL Server :

DROP PROC My_Proc;  
GO  
CREATE PROC My_Proc  
AS   
   EXECUTE dbo.sp_user_counter1 @@CONNECTIONS;  
GO  

La fonction @@CONNECTIONS retourne le nombre de connexions ou de tentatives de connexions depuis le démarrage d’une instance de SQL Server. Cette valeur est transférée comme paramètre à la procédure stockée sp_user_counter1.

Important

Les requêtes définies dans les procédures stockées du compteur utilisateur doivent être aussi simples que possible. Les requêtes sollicitant beaucoup de mémoire, comme les requêtes de tri ou de hachage, ou celles qui impliquent des volumes importants d'E/S sont d'une exécution coûteuse en ressources et peuvent affecter les performances.

Exemple de moniteur

Vous commencez à explorer les compteurs dans cet objet en utilisant cette requête T-SQL sur la vue de gestion dynamique sys.dm_os_performance_counters :

SELECT * FROM sys.dm_os_performance_counters
WHERE object_name LIKE '%User Settable%';

autorisations

La procédure stockée sp_user_counter est disponible pour tous les utilisateurs, mais son utilisation peut être limitée pour chacun des compteurs de requêtes.