Compartilhar via


SQL Server, objeto configurável do usuário

O objeto User Settable no Microsoft SQL Server permite que você crie instâncias de contador personalizadas. Use instâncias de contador personalizadas para monitorar aspectos do servidor não monitorados por contadores existentes, como componentes exclusivos do banco de dados do SQL Server (por exemplo, o número de pedidos de clientes registrados ou o inventário de produtos).

O objeto User Settable contém 10 instâncias do contador de consulta: Contador de usuário 1 até Contador de usuário 10. Esses contadores são mapeados para os procedimentos armazenados do SQL Server sp_user_counter1 até sp_user_counter10. Como esses procedimentos armazenados são executados por aplicativos de usuário, os valores definidos pelos procedimentos armazenados são exibidos no Monitor do Sistema. Um contador pode monitorar qualquer valor inteiro único (por exemplo, um procedimento armazenado que conta quantos pedidos para um produto específico ocorreram em um dia).

Observação

Os procedimentos armazenados do contador de usuário não são sondados automaticamente pelo System Monitor. Eles devem ser executados explicitamente por um aplicativo de usuário para que os valores do contador sejam atualizados. Use um gatilho para atualizar o valor do contador automaticamente. Por exemplo, para criar um contador que monitore o número de linhas em uma tabela, crie um gatilho INSERT e DELETE na tabela que executa a seguinte instrução: SELECT COUNT(*) FROM table. Sempre que o gatilho é acionado devido a uma operação INSERT ou DELETE que ocorre na tabela, o contador do System Monitor é atualizado automaticamente.

Esta tabela descreve o objeto Usuário Configurável do SQL Server.

Contadores configuráveis de usuário do SQL Server Descrição
Consulta O objeto User Settable contém o contador de consulta. Os usuários configuram os contadores de usuário dentro do objeto de consulta.

Esta tabela descreve as instâncias do contador de consulta .

Consultar instâncias do contador Descrição
Contador de usuário 1 Definido usando sp_user_counter1.
Contador de usuário 2 Definido usando sp_user_counter2.
Contador de usuário 3 Definido usando sp_user_counter3.
...
Contador de usuário 10 Definido usando sp_user_counter10.

Para usar os procedimentos armazenados do contador de usuário, execute-os em seu próprio aplicativo com um único parâmetro inteiro que representa o novo valor para o contador. Por exemplo, para definir o contador de usuário 1 com o valor 10, execute esta instrução Transact-SQL:

EXECUTE sp_user_counter1 10  

Os procedimentos armazenados do contador de usuário podem ser chamados de qualquer lugar em que outros procedimentos armazenados possam ser chamados, como seus próprios procedimentos armazenados. Por exemplo, você pode criar o seguinte procedimento armazenado para contar o número de conexões e tentativas de conexões desde que uma instância do SQL Server foi iniciada:

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

A função @@CONNECTIONS retorna o número de conexões ou tentativas de conexões desde que uma instância do SQL Server foi iniciada. Esse valor é passado para o procedimento armazenado sp_user_counter1 como o parâmetro.

Importante

Torne as consultas definidas nos procedimentos armazenados do contador de usuários o mais simples possível. Consultas com uso intensivo de memória que executam operações substanciais de ordenação ou de hash, ou consultas que realizam grandes quantidades de E/S, são caras para executar e podem afetar o desempenho.

Permissões

sp_user_counter está disponível para todos os usuários, mas pode ser restrito para qualquer contador de consulta.

Consulte Também

Monitorar o uso de recursos (Monitor do Sistema)