Überwachung und Problembehandlung von verwalteten Datenbankobjekten

In diesem Thema erhalten Sie Informationen zu den Tools, die zum Überwachen und zur Problembehandlung von verwalteten Datenbankobjekten und Assemblys in SQL Server verwendet werden können.

Profiler-Ablaufverfolgungsereignisse

SQL Server stellt die SQL-Ablaufverfolgung und Ereignisbenachrichtigungen bereit, um Ereignisse zu überwachen, die im Datenbankmodul auftreten. Durch Aufzeichnen angegebener Ereignisse können Sie mit der SQL-Ablaufverfolgung Leistungsprobleme behandeln, die Datenbankaktivität überwachen, Stichprobendaten für eine Testumgebung sammeln, Transact-SQL-Anweisungen und gespeicherte Prozeduren debuggen sowie Daten für Leistungsanalysetools sammeln. Weitere Informationen finden Sie unter Überwachen von Ereignissen.

Ereignis

Beschreibung

Assembly Load-Ereignisklasse

Wird verwendet, um Assembly-Ladeanforderungen (Erfolg und Fehler) zu überwachen.

SQL:BatchStarting (Ereignisklasse), SQL:BatchCompleted (Ereignisklasse)

Stellt Informationen über Transact-SQL-Batches bereit, die gestartet oder beendet wurden.

SP:Starting (Ereignisklasse), SP:Completed (Ereignisklasse)

Wird verwendet, um die Ausführung von gespeicherten Transact-SQL-Prozeduren zu überwachen.

SQL:StmtStarting (Ereignisklasse), SQL:StmtCompleted (Ereignisklasse)

Wird verwendet, um die Ausführung von CLR- und Transact-SQL-Routinen zu überwachen.

Leistungsindikatoren

In SQL Server werden Objekte und Leistungsindikatoren bereitgestellt, die vom Systemmonitor zum Überwachen der Aktivität von Computern, die eine Instanz von SQL Server ausführen, verwendet werden können. Ein Objekt ist eine beliebige SQL Server-Ressource, z. B. eine SQL Server-Sperre oder ein Windows XP-Prozess. Jedes Objekt enthält einen oder mehrere Leistungsindikatoren, die verschiedene Aspekte der zu überwachenden Objekte ermitteln. Weitere Informationen finden Sie unter Verwenden von SQL Server-Objekten.

Objekt

Beschreibung

SQL Server, CLR-Objekt

Gesamtausführungszeit in CLR.

Windows-Systemmonitor-Leistungsindikatoren (PERFMON.EXE)

Der Windows-Systemmonitor (PERFMON.EXE) enthält mehrere Leistungsindikatoren, die zur Überwachung der CLR-Integrationsanwendungen verwendet werden können. Die .NET CLR-Leistungsindikatoren können durch den Prozessnamen "sqlservr" gefiltert werden, um CLR-Integrationsanwendungen zu verfolgen, die derzeit ausgeführt werden.

Leistungsobjekt

Beschreibung

SqlServer:CLR

Stellt CPU-Statistiken für den Server bereit.

.NET CLR-Ausnahmen

Erfasst die Anzahl der pro Sekunde ausgelösten Ausnahmen.

.NET CLR Loading

Stellt Informationen über die AppDomains und die Assemblys bereit, die im Server geladen sind.

.NET CLR-Speicher

Stellt Informationen zur CLR-Speicherauslastung bereit. Dieses Objekt kann verwendet werden, um Warnungen auszugeben, wenn die Speicherauslastung zu groß wird.

.NET-Datenanbieter für SQL Server

Erfasst die Anzahl der pro Sekunde hergestellten und getrennten Verbindungen. Dieses Objekt kann zum Überwachen der Datenbankaktivität verwendet werden.

Katalogsichten

Katalogsichten geben Informationen zurück, die vom SQL Server-Datenbankmodul verwendet werden. Sie sollten Katalogsichten verwenden, da sie die allgemeinste Schnittstelle zu den Katalogmetadaten darstellen und die effizienteste Methode zum Abrufen, Transformieren und Präsentieren dieser Informationen in benutzerdefinierter Form bereitstellen. Alle für Benutzer verfügbaren Katalogmetadaten werden über Katalogsichten verfügbar gemacht. Weitere Informationen finden Sie unter Katalogsichten (Transact-SQL).

Katalogsicht

Beschreibung

sys.assemblies (Transact-SQL)

Gibt Informationen über die Assemblys zurück, die in einer Datenbank registriert sind.

sys.assembly_references (Transact-SQL)

Identifiziert Assemblys, die auf andere Assemblys verweisen.

sys.assembly_modules (Transact-SQL)

Gibt Informationen über alle Funktionen, gespeicherten Prozeduren und Trigger zurück, die in einer Assembly definiert sind.

sys.assembly_files (Transact-SQL)

Gibt Informationen über die Assemblydateien zurück, die in der Datenbank registriert sind.

sys.assembly_types (Transact-SQL)

Identifiziert die benutzerdefinierten Typen (UDTs), die von einer Assembly definiert sind.

sys.module_assembly_usages (Transact-SQL)

Identifiziert die Assemblys, in denen CLR-Module definiert sind.

sys.parameter_type_usages (Transact-SQL)

Gibt Informationen über Parameter zurück, die benutzerdefinierte Typen sind.

sys.server_assembly_modules (Transact-SQL)

Identifiziert die Assembly, in der CLR-Trigger definiert ist.

sys.server_triggers (Transact-SQL)

Identifiziert die DDL-Trigger auf Serverebene auf einem Server, einschließlich der CLR-Trigger.

sys.type_assembly_usages (Transact-SQL)

Identifiziert die Assemblys, in denen benutzerdefinierten Typen definiert sind.

sys.types (Transact-SQL)

Gibt das System und die benutzerdefinierten Typen zurück, die in der Datenbank registriert sind.

Dynamische Verwaltungssichten

Dynamische Verwaltungssichten (DMVs) und -funktionen geben Serverstatusinformationen zurück, mit denen der Zustand einer Serverinstanz überwacht, Probleme diagnostiziert und die Leistung optimiert werden kann. Weitere Informationen finden Sie unter Dynamische Verwaltungssichten und Funktionen (Transact-SQL).

DMV

Beschreibung

sys.dm_clr_appdomains (Transact-SQL)

Stellt Informationen zu jeder Anwendungsdomäne auf dem Server bereit.

sys.dm_clr_loaded_assemblies (Transact-SQL)

Identifiziert jede auf dem Server registrierte verwaltete Assembly.

sys.dm_clr_properties (Transact-SQL)

Gibt Informationen zur gehosteten CLR zurück.

sys.dm_clr_tasks (Transact-SQL)

Identifiziert alle CLR-Tasks, die gerade ausgeführt werden.

sys.dm_exec_cached_plans (Transact-SQL)

Gibt Informationen über die Abfrageausführungspläne zurück, die von SQL Server für schnellere Abfrageausführung zwischengespeichert werden.

sys.dm_exec_query_stats (Transact-SQL)

Gibt die Aggregatleistungsstatistik für zwischengespeicherte Abfragepläne zurück.

sys.dm_exec_requests (Transact-SQL)

Gibt Informationen über jede einzelne Anforderung, die in SQL Server ausgeführt wird, zurück.

sys.dm_os_memory_clerks (Transact-SQL)

Gibt alle derzeit in der SQL Server-Instanz aktiven Arbeitsspeicherclerks zurück, einschließlich CLR-Arbeitsspeicherclerks.