sys.dm_clr_loaded_assemblies (Transact-SQL)
Gilt für:SQL Server
Gibt für jede in den Serveradressraum geladene verwaltete Benutzerassembly eine Zeile zurück. Verwenden Sie diese Ansicht, um objekte der verwalteten CLR-Integration zu verstehen und zu behandeln, die in Microsoft SQL Server ausgeführt werden.
Assemblys sind DLL-Dateien mit verwaltetem Code, die zum Definieren und Bereitstellen von verwalteten Datenbankobjekten in SQL Server verwendet werden. Wenn ein Benutzer eines dieser verwalteten Datenbankobjekte ausführt, laden SQL Server und die CLR die Assembly (und ihre Verweise), in der das verwaltete Datenbankobjekt definiert ist. Die Assembly bleibt in SQL Server geladen, um die Leistung zu erhöhen, sodass die in der Assembly enthaltenen verwalteten Datenbankobjekte in Zukunft aufgerufen werden können, ohne dass die Assembly neu geladen werden muss. Die Assembly wird erst entladen, wenn SQL Server unter Speicherdruck gerät. Weitere Informationen zu Assemblys und zur CLR-Integration finden Sie unter CLR Hosted Environment. Weitere Informationen zu verwalteten Datenbankobjekten finden Sie unter Erstellen von Datenbankobjekten mit CLR-Integration (Common Language Runtime).
Spaltenname | Datentyp | BESCHREIBUNG |
---|---|---|
assembly_id | int | ID der geladenen Assembly. Die assembly_id können verwendet werden, um weitere Informationen zur Assembly in der Katalogsicht sys.assemblies (Transact-SQL) nachzuschlagen. Beachten Sie, dass der Transact-SQL sys.assemblies-Katalog nur Assemblys in der aktuellen Datenbank anzeigt. Mit der sqs.dm_clr_loaded_assemblies -Sicht werden alle geladenen Assemblys auf dem Server angezeigt. |
appdomain_address | int | Adresse der Anwendungsdomäne (AppDomain), in der die Assembly geladen wird. Alle Assemblys, die sich im Besitz eines einzelnen Benutzers befinden, werden stets in derselben AppDomaingeladen. appdomain_address kann für die Suche nach weiteren Informationen zur AppDomain in der sys.dm_clr_appdomains -Sicht verwendet werden. |
load_time | datetime | Zeit, zu der die Assembly geladen wurde. Beachten Sie, dass die Assembly geladen bleibt, bis SQL Server unter Speicherdruck steht und die AppDomain entladen wird. Sie können load_time überwachen, um zu verstehen, wie häufig SQL Server unter Speicherdruck gerät und die AppDomain entladen. |
Berechtigungen
Erfordert die VIEW SERVER STATE-Berechtigung auf dem Server.
Berechtigungen für SQL Server 2022 und höher
Erfordert die VIEW SERVER PERFORMANCE STATE-Berechtigung auf dem Server.
Bemerkungen
Die ansicht dm_clr_loaded_assemblies.appdomain_address hat eine 1:1-Beziehung mit dm_clr_appdomains.appdomain_address. Die dm_clr_loaded_assemblies.assembly_id -Sicht besitzt eine 1:n-Beziehung mit sys.assemblies.assembly_id.
Beispiele
Im folgenden Beispiel wird veranschaulicht, wie Details zu allen Assemblys in der aktuellen Datenbank angezeigt werden können, die aktuell geladen sind.
SELECT a.name, a.assembly_id, a.permission_set_desc, a.is_visible, a.create_date, l.load_time
FROM sys.dm_clr_loaded_assemblies AS l
INNER JOIN sys.assemblies AS a
ON l.assembly_id = a.assembly_id;
Im folgenden Beispiel wird veranschaulicht, wie Details der AppDomain angezeigt werden können, in der eine bestimmte Assembly geladen ist.
SELECT appdomain_id, creation_time, db_id, user_id, state
FROM sys.dm_clr_appdomains AS a
WHERE appdomain_address =
(SELECT appdomain_address
FROM sys.dm_clr_loaded_assemblies
WHERE assembly_id = 555);
Weitere Informationen
Mit CRL (Common Language Runtime) verbundene dynamische Verwaltungssichten Transact-SQL)
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für