Condividi tramite


Oggetto Definibile dall'utente di SQLServer

L'oggetto User Settable in Microsoft SQL Server consente di creare istanze di contatori personalizzate. Usare istanze di contatore personalizzate per monitorare gli aspetti del server non monitorati dai contatori esistenti, ad esempio i componenti univoci del database SQL Server, ad esempio il numero di ordini dei clienti registrati o l'inventario dei prodotti.

L'oggetto Definibile dall'utente contiene 10 istanze del contatore di query: da User counter 1 (Contatore utente 1) a User counter 10 (Contatore utente 10). Questi contatori vengono mappati alle stored procedure SQL Server sp_user_counter1 tramite sp_user_counter10. Quando le stored procedure vengono eseguite dalle applicazioni utente, i valori impostati dalle stored procedure vengono visualizzati in Monitoraggio di sistema. 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.

Nota

Il polling delle stored procedure dei contatori utente non viene eseguito automaticamente da Monitoraggio di sistema. Per aggiornare i valori dei contatori, è necessario che le stored procedure vengano eseguite in modo esplicito da un'applicazione utente. Utilizzare un trigger per aggiornare automaticamente il valore del contatore. 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. 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.

Questa tabella descrive l'oggetto user settable SQL Server.

Contatori di SQLServer:Definibile dall'utente Descrizione
Query L'oggetto Definibile dall'utente contiene il contatore di query. Gli utenti configurano il valore delle istanze User counter all'interno dell'oggetto query.

Questa tabella illustra le istanze del contatore Query .

Istanze del contatore Query Descrizione
User counter 1 Definito tramite sp_user_counter1.
User counter 2 Definito tramite sp_user_counter2.
User counter 3 Definito tramite sp_user_counter3.
...
User counter 10 Definito tramite 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. Ad esempio, per impostare User counter 1 sul valore 10, eseguire l'istruzione Transact-SQL seguente:

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. Ad esempio, è possibile creare la stored procedure seguente per contare il numero di connessioni e tentativi di connessioni dopo l'avvio di un'istanza di SQL Server:

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 tentativi di connessioni dopo l'avvio di un'istanza di SQL Server. Il valore viene passato alla stored procedure sp_user_counter1 come parametro.

Importante

Le query definite nelle stored procedure dei contatori utente dovrebbero essere il più semplici possibile. 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.

Autorizzazioni

sp_user_counter è disponibile per tutti gli utenti, ma è possibile limitarne l'uso per qualsiasi contatore di query.

Vedere anche

Monitoraggio dell'utilizzo delle risorse (Monitor di sistema)