SQL Server, uživatelsky nastavitelný objekt

platí pro:SQL Server

Objekt User Settable v Microsoft SQL Server umožňuje vytvářet vlastní instance čítačů. Použijte vlastní instance čítačů ke sledování aspektů serveru, které nejsou monitorovány stávajícími čítači, například komponenty jedinečné pro vaši databázi SQL Server (například počet zaznamenáných zákaznických objednávek nebo inventář produktů).

Objekt User Settable obsahuje 10 instancí čítače dotazů: User counter 1 až User counter 10. Tyto čítače se mapují na uložené procedury sp_user_counter1 SQL Server prostřednictvím sp_user_counter10. Protože tyto uložené procedury jsou vykonávány uživatelskými aplikacemi, hodnoty nastavené uloženými procedurami se zobrazují v System Monitoru. Čítač může monitorovat jakoukoli jednotlivou celočíselnou hodnotu (například uloženou proceduru, která počítá, kolik objednávek pro konkrétní produkt bylo během jednoho dne provedeno).

Note

Procedury uložené uživatelským čítačem nejsou automaticky dotazovány System Monitorem. Musí být explicitně vykonány uživatelskou aplikací, aby byly hodnoty čítačů aktualizovány. Použijte trigger k automatické aktualizaci hodnoty čítače.

Tato tabulka popisuje objekt SQL Server User Settable.

Čítače uživatelských nastavitelných počítačů v SQL Server Description
Query Objekt User Settable obsahuje čítač dotazů. Uživatelé konfigurují každý čítač uživatelů v rámci dotazovacího objektu. Každý čítač je celočíselný datový typ.

Tato tabulka popisuje instance čítače dotazů .

Instance čítače dotazů Description
Uživatelský čítač 1 Definováno pomocí sp_user_counter1.
Uživatelský čítač 2 Definováno pomocí sp_user_counter2.
Čítač uživatelů 3 Definováno pomocí sp_user_counter3.
...
Uživatelský čítač 10 Definováno pomocí sp_user_counter10.

Nastavte hodnotu uživatelského čítače

Pro využití procedur uložených v uživatelském čítači je spusť ve své vlastní aplikaci s jediným celočíselným parametrem představujícím novou hodnotu čítače. Například pro nastavení čítače User 1 na hodnotu 10 proveďte tento Transact-SQL příkaz:

EXECUTE dbo.sp_user_counter1 10;

Uložené procedury uživatelského čítače lze volat odkudkoli, kde lze volat jiné uložené procedury, například z vašich vlastních uložených procedur. Například můžete vytvořit následující uloženou proceduru pro počítání počtu připojení a pokusů o připojení od spuštění instance SQL Server:

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

Funkce @@CONNECTIONS vrací počet spojení nebo pokusů o spojení od spuštění instance SQL Server. Tato hodnota je předána uložené procedurě sp_user_counter1 jako parametr.

Important

Udělejte dotazy definované v uložených procedurách uživatelského čítače co nejjednodušší. Paměťově náročné dotazy, které provádějí rozsáhlé třídění nebo hashování, nebo dotazy s velkým množstvím I/O, jsou drahé na provedení a mohou ovlivnit výkon.

Příklad monitoru

Začnete zkoumat čítače v tomto objektu pomocí tohoto T-SQL dotazu v sys.dm_os_performance_counters dynamickém režimu správy:

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

Permissions

Uložený postup sp_user_counter je dostupný pro všechny uživatele, ale může být omezen pro jakýkoli čítač dotazů.