Udostępnij za pośrednictwem


sys.dm_clr_loaded_assemblies (języka Transact-SQL)

Zwraca wiersz dla każdego wirtualny plik dziennika zarządzanych użytkownika załadowanego do przestrzeni adresowej serwera.Use this view to understand and troubleshoot CLR integration managed database objects that are executing in Microsoft SQL Server.

Zestawy są kod zarządzany pliki DLL są używane do definiowania i rozmieszczanie obiektów bazy danych zarządzanych SQL Server. Za każdym razem, gdy użytkownik wykonuje jedną z tych obiektów bazy danych zarządzanych SQL Server i środowisko CLR ładowania wirtualny plik dziennika (i jego odwołania) w której zdefiniowano obiektu zarządzanego bazy danych. wirtualny plik dziennika pozostaje załadowany w SQL Server Aby zwiększyć wydajność, dzięki czemu obiekty zarządzane bazy danych zawartych w zestawie mogą być wywoływane w przyszłości z się konieczności ponownego załadowania wirtualny plik dziennika. wirtualny plik dziennika nie jest zwalniane aż do SQL Server pochodzi pod ciśnieniem pamięci. Aby uzyskać więcej informacji na temat zestawów i CLR integracja zobacz Obsługiwanych środowiska CLR. Aby uzyskać więcej informacji na temat obiektów zarządzanych bazy danych zobacz Tworzenie obiektów bazy danych z Common Language Runtime (CLR) integracja.

Nazwa kolumna

Typ danych

Description

assembly_id

int

Identyfikator wirtualny plik dziennika załadowany.The assembly_id can be used to look up more information about the wirtualny plik dziennika in the sys.assemblies (Transact-SQL) catalog view. Note that the Transact-SQLsys.assemblies catalog shows assemblies in the current database only.The sqs.dm_clr_loaded_assemblies view shows all loaded assemblies on the server.

appdomain_address

int

Adres (domena aplikacjiElementu AppDomain) w której wirtualny plik dziennika jest załadowany.Wszystkie zespoły posiadanych przez jednego użytkownika są zawsze ładowane w tym samym Elementu AppDomain.The appdomain_address can be used to lookup more information about the AppDomain in the sys.dm_clr_appdomains view.

load_time

datetime

Czas, gdy wirtualny plik dziennika został załadowany.Należy zwrócić uwagę, że wirtualny plik dziennika nadal załadowanego do SQL Server jest pod ciśnieniem pamięci i zwalnia Elementu AppDomain.Można monitorować load_time Aby zrozumieć, jak często, SQL Server Przechodzi pod ciśnieniem pamięci i zwalnia Elementu AppDomain.

Uprawnienia

Wymaga uprawnienia VIEW SERVER STATE na serwerze.

Remarks

The dm_clr_loaded_assemblies.appdomain_address view has a relacja wiele-do-jednego with dm_clr_appdomains.appdomain_address.The dm_clr_loaded_assemblies.assembly_id view has a one-to-many relationship with sys.assemblies.assembly_id.

Przykłady

W poniższym przykładzie pokazano, jak wyświetlać szczegóły wszystkich zestawów w bieżącej bazie danych, które są aktualnie załadowane.

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

W poniższym przykładzie pokazano, jak wyświetlać szczegóły Elementu AppDomain , w którym dany wirtualny plik dziennika jest załadowany.

select appdomain_id, creation_time, db_id, user_id, state
from sys.dm_clr_appdomains a
where appdomain_address = 
(select appdomain_address 
 from sys.dm_clr_loaded_assemblies
 where assembly_id = 555)