Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:SQL Server
Zwraca wiersz dla każdego zarządzanego asembla użytkownika załadowanego do przestrzeni adresowej serwera. Użyj tego widoku, aby zrozumieć i rozwiązać problemy z zarządzanymi obiektami bazy danych z integracją CLR, które wykonują się w Microsoft SQL Server.
Asemblery to zarządzane pliki DLL służące do definiowania i wdrażania zarządzanych obiektów bazy danych w SQL Server. Za każdym razem, gdy użytkownik uruchamia jeden z tych zarządzanych obiektów bazy danych, SQL Server i CLR ładują asembl (oraz jego odwołania), w którym zdefiniowany jest zarządzany obiekt bazy danych. Asembler pozostaje ładowany w SQL Server, aby zwiększyć wydajność, tak aby zarządzane obiekty bazy danych zawarte w asemblerze mogły być wywoływane w przyszłości bez konieczności ponownego ładowania asemblera. Asembler nie jest ładowany, dopóki SQL Server nie stanie się pod presją pamięci. Więcej informacji o asemblech i integracji CLR można znaleźć w artykule Środowisko hostowane CLR. Więcej informacji o zarządzanych obiektach bazy danych można znaleźć w artykule Budowanie obiektów bazy danych z integracją Common Language Runtime (CLR).
| Nazwa kolumny | Typ danych | Opis |
|---|---|---|
| assembly_id | int | ID załadowanego zespołu. assembly_id można użyć do wyszukiwania większej ilości informacji o asemblerze w widoku katalogowym sys.assemblies (Transact-SQL). Należy zauważyć, że katalog sys.assemblies Transact-SQL pokazuje tylko zespoły w aktualnej bazie danych. Widok sqs.dm_clr_loaded_assemblies pokazuje wszystkie załadowane zespoły na serwerze. |
| appdomain_address | int | Adres domeny aplikacji (AppDomain), w której ładowany jest asembler. Wszystkie zespoły należące do jednego użytkownika są zawsze ładowane w tym samym AppDomain. appdomain_address można wykorzystać do wyszukiwania większej ilości informacji o AppDomain w widoku sys.dm_clr_appdomains. |
| load_time | datetime | Czas, kiedy zespół był załadowany. Należy zauważyć, że asembl pozostaje ładowany, dopóki SQL Server nie będzie pod presją pamięci i nie rozładowuje AppDomain. Możesz monitorować load_time, aby zrozumieć, jak często SQL Server trafia pod presję pamięci i odciąża AppDomain. |
Permissions
Wymaga VIEW uprawnienia STAN SERWERA na serwerze.
Uprawnienia dla programu SQL Server 2022 i nowszych
Wymaga VIEW uprawnień STAN WYDAJNOŚCI SERWERA na serwerze.
Uwagi
Widok dm_clr_loaded_assemblies.appdomain_address ma relację wiele-do-jednego z dm_clr_appdomains.appdomain_address. Widok dm_clr_loaded_assemblies.assembly_id ma relację jeden do wielu z sys.assemblies.assembly_id.
Examples
Poniższy przykład pokazuje, jak wyświetlić szczegóły wszystkich asembli w aktualnej bazie danych, które są obecnie 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;
Poniższy przykład pokazuje, jak zobaczyć szczegóły AppDomain , w którym dany asembl jest ładowany.
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);
Zobacz też
Dynamiczne widoki zarządzania związane z czasem rzeczywistym w Common Language (Transact-SQL)