Oggetto Definibile dall'utente di SQLServerSQL Server, User Settable Object

L'oggetto Definibile dall'utente di Microsoft SQL ServerSQL Server consente di creare istanze di contatore personalizzate.The User Settable object in Microsoft SQL ServerSQL Server allows you to create custom counter instances. Utilizzare istanze di contatore personalizzate per monitorare gli aspetti del server non monitorati dai contatori esistenti, quali i componenti specifici del database di SQL ServerSQL Server utilizzato (ad esempio, il numero di ordini registrati o l'inventario dei prodotti).Use custom counter instances to monitor aspects of the server not monitored by existing counters, such as components unique to your SQL ServerSQL Server database (for example, the number of customer orders logged or the product inventory).

L'oggetto Definibile dall'utente contiene 10 istanze del contatore di query, da User counter 1 a User counter 10.The User Settable object contains 10 instances of the query counter: User counter 1 through User counter 10. Tali contatori corrispondono alle stored procedure di SQL ServerSQL Server da sp_user_counter1 a sp_user_counter10.These counters map to the SQL ServerSQL Server stored procedures sp_user_counter1 through sp_user_counter10. Quando le stored procedure vengono eseguite dalle applicazioni utente, i valori impostati dalle stored procedure vengono visualizzati in Monitoraggio di sistema.As these stored procedures are executed by user applications, the values set by the stored procedures are displayed in System Monitor. Un contatore può monitorare qualsiasi valore integer, ad esempio una stored procedure che esegue il conteggio degli ordini di un prodotto specifico ricevuti in un giorno.A counter can monitor any single integer value (for example, a stored procedure that counts how many orders for a particular product have occurred in one day).

Nota

Il polling delle stored procedure dei contatori utente non viene eseguito automaticamente da Monitoraggio di sistema.The user counter stored procedures are not polled automatically by System Monitor. Per aggiornare i valori dei contatori, è necessario che le stored procedure vengano eseguite in modo esplicito da un'applicazione utente.They must be explicitly executed by a user application for the counter values to be updated. Utilizzare un trigger per aggiornare automaticamente il valore del contatore.Use a trigger to update the value of the counter automatically. Ad esempio, per creare un contatore che esegue il monitoraggio del numero di righe di una tabella, creare un trigger INSERT e DELETE nella tabella per eseguire l'istruzione seguente: SELECT COUNT(*) FROM table.For example, to create a counter that monitors the number of rows in a table, create an INSERT and DELETE trigger on the table that executes the following statement: SELECT COUNT(*) FROM table. Ogni volta che il trigger viene attivato da un'operazione INSERT o DELETE eseguita nella tabella, il contatore di Monitoraggio di sistema viene aggiornato automaticamente.Whenever the trigger is fired because of an INSERT or DELETE operation occurring on the table, the System Monitor counter is automatically updated.

Questa tabella illustra l'oggetto SQL ServerSQL Server User Settable object.This table describes the SQL ServerSQL Server User Settable object.

Contatori di SQLServer:Definibile dall'utenteSQL Server User Settable counters DescrizioneDescription
QueryQuery L'oggetto Definibile dall'utente contiene il contatore di query.The User Settable object contains the query counter. Gli utenti configurano il valore delle istanze User counter all'interno dell'oggetto query.Users configure the User counters within the query object.

Questa tabella illustra le istanze del contatore Query .This table describes the instances of the Query counter.

Istanze del contatore QueryQuery counter instances DescrizioneDescription
User counter 1User counter 1 Definito tramite sp_user_counter1.Defined using sp_user_counter1.
User counter 2User counter 2 Definito tramite sp_user_counter2.Defined using sp_user_counter2.
User counter 3User counter 3 Definito tramite sp_user_counter3.Defined using sp_user_counter3.
User counter 10User counter 10 Definito tramite sp_user_counter10.Defined using sp_user_counter10.

Per utilizzare le stored procedure dei contatori utente, eseguirle dall'applicazione utente con un solo parametro integer che rappresenta il nuovo valore del contatore.To make use of the user counter stored procedures, execute them from your own application with a single integer parameter representing the new value for the counter. Ad esempio, per impostare User counter 1 sul valore 10, eseguire l'istruzione Transact-SQL seguente:For example, to set User counter 1 to the value 10, execute this Transact-SQL statement:

EXECUTE sp_user_counter1 10  

Le stored procedure dei contatori utente possono essere chiamate da qualsiasi posizione da cui possono essere chiamate le altre stored procedure, ad esempio le stored procedure personalizzate.The user counter stored procedures can be called from anywhere other stored procedures can be called, such as your own stored procedures. Ad esempio, è possibile creare la stored procedure seguente per eseguire il conteggio del numero di connessioni e tentativi di connessione eseguiti dall'avvio di un'istanza di SQL ServerSQL Server :For example, you can create the following stored procedure to count the number of connections and attempted connections since an instance of SQL ServerSQL Server was started:

DROP PROC My_Proc  
GO  
CREATE PROC My_Proc  
AS   
   EXECUTE sp_user_counter1 @@CONNECTIONS  
GO  

La funzione @@CONNECTIONS restituisce il numero di connessioni o di tentativi di connessione eseguiti dall'avvio di un'istanza di SQL ServerSQL Server.The @@CONNECTIONS function returns the number of connections or attempted connections since an instance of SQL ServerSQL Server started. Il valore viene passato alla stored procedure sp_user_counter1 come parametro.This value is passed to the sp_user_counter1 stored procedure as the parameter.

Importante

Le query definite nelle stored procedure dei contatori utente dovrebbero essere il più semplici possibile.Make the queries defined in the user counter stored procedures as simple as possible. Le query che impegnano molta memoria e che eseguono operazioni di ordinamento e di hashing di ampia portata o le query che eseguono grandi quantità di operazioni di I/O richiedono l'utilizzo di numerose risorse e possono determinare un peggioramento delle prestazioni del sistema.Memory-intensive queries that perform substantial sort or hash operations or queries that perform large amounts of I/O are expensive to execute and can impact performance.

AutorizzazioniPermissions

sp_user_counter è disponibile per tutti gli utenti, ma è possibile limitarne l'uso per qualsiasi contatore di query.sp_user_counter is available for all users but can be restricted for any query counter.

Vedere ancheSee Also

Monitoraggio dell'utilizzo delle risorse (Monitor di sistema)Monitor Resource Usage (System Monitor)