Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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.