Freigeben über


SQL Server, Benutzerdefinierbares Objekt

Mit dem User Settable-Objekt in Microsoft SQL Server können Sie benutzerdefinierte Zählerinstanzen erstellen. Verwenden Sie benutzerdefinierte Zählerinstanzen, um Aspekte des Servers zu überwachen, die nicht von vorhandenen Leistungsindikatoren überwacht werden, z. B. Komponenten, die für Ihre SQL Server-Datenbank eindeutig sind (z. B. die Anzahl der protokollierten Kundenaufträge oder des Produktbestands).

Das User Settable-Objekt enthält 10 Instanzen des Abfrageindikators: Benutzerzähler 1 bis Benutzerzähler 10. Diese Zähler werden den gespeicherten SQL Server-Prozeduren sp_user_counter1 bis sp_user_counter10 zugeordnet. Da diese gespeicherten Prozeduren von Benutzeranwendungen ausgeführt werden, werden die von den gespeicherten Prozeduren festgelegten Werte im Systemmonitor angezeigt. Ein Zähler kann jeden einzelnen ganzzahligen Wert überwachen (z. B. eine gespeicherte Prozedur, die zählt, wie viele Bestellungen für ein bestimmtes Produkt an einem Tag aufgetreten sind).

Hinweis

Die gespeicherten Prozeduren des Benutzerzählers werden von SystemMonitor nicht automatisch abgefragt. Sie müssen explizit von einer Benutzeranwendung ausgeführt werden, damit die Zählerwerte aktualisiert werden. Verwenden Sie einen Trigger, um den Wert des Zählers automatisch zu aktualisieren. Um beispielsweise einen Zähler zu erstellen, der die Anzahl der Zeilen in einer Tabelle überwacht, erstellen Sie einen INSERT- und DELETE-Trigger für die Tabelle, die die folgende Anweisung ausführt: SELECT COUNT(*) FROM table Wenn der Auslöser aufgrund eines INSERT- oder DELETE-Vorgangs in der Tabelle ausgelöst wird, wird der Systemmonitorzähler automatisch aktualisiert.

In dieser Tabelle wird das SQL Server User Settable-Objekt beschrieben.

SQL Server benutzerdefinierbare Zähler BESCHREIBUNG
Abfrage Das User Settable-Objekt enthält den Abfragezähler. Benutzer konfigurieren die Benutzerzähler innerhalb des Abfrageobjekts.

In dieser Tabelle werden die Instanzen des Abfragezählers beschrieben.

Instanzen des Abfragezählers BESCHREIBUNG
Benutzerzähler 1 Definiert mithilfe von sp_user_counter1.
Benutzerzähler 2 Definiert mithilfe von sp_user_counter2.
Benutzerzähler 3 Definiert mithilfe von sp_user_counter3.
...
Benutzerzähler 10 Mit sp_user_counter10 definiert.

Um die gespeicherten Prozeduren des Benutzerzählers zu verwenden, führen Sie sie aus Ihrer eigenen Anwendung mit einem einzelnen ganzzahligen Parameter aus, der den neuen Wert für den Zähler darstellt. Um beispielsweise den Benutzerzähler 1 auf den Wert 10 festzulegen, führen Sie diese Transact-SQL-Anweisung aus:

EXECUTE sp_user_counter1 10  

Die gespeicherten Prozeduren für den Benutzerzähler können von überall aus aufgerufen werden, wo auch andere gespeicherte Prozeduren aufgerufen werden können, wie zum Beispiel Ihre eigenen gespeicherten Prozeduren. Sie können beispielsweise die folgende gespeicherte Prozedur erstellen, um die Anzahl der Verbindungen und versuchten Verbindungen zu zählen, seit eine Instanz von SQL Server gestartet wurde:

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

Die @@CONNECTIONS-Funktion gibt die Anzahl der Verbindungen oder versuchten Verbindungen zurück, seit eine Instanz von SQL Server gestartet wurde. Dieser Wert wird als Parameter an die sp_user_counter1 gespeicherte Prozedur übergeben.

Von Bedeutung

Vereinfachen Sie die in den Benutzerzähler gespeicherten Prozeduren so weit wie möglich. Speicherintensive Abfragen, die erhebliche Sortier- oder Hashvorgänge oder Abfragen ausführen, die große E/A-Vorgänge ausführen, sind teuer für die Ausführung und können sich auf die Leistung auswirken.

Erlaubnisse

sp_user_counter ist für alle Benutzer verfügbar, kann jedoch für jeden Abfragezähler eingeschränkt werden.

Siehe auch

Überwachen der Ressourcenverwendung (Systemmonitor)