sys.dm_clr_loaded_assemblies (Transact-SQL)

Gäller för:SQL Server

Returnerar en rad för varje hanterad användarassembler som laddats in i serverns adressutrymme. Använd denna vy för att förstå och felsöka CLR-integrationshanterade databasobjekt som körs i Microsoft SQL Server.

Assemblies är hanterade kod-DLL-filer som används för att definiera och distribuera hanterade databasobjekt i SQL Server. När en användare kör ett av dessa hanterade databasobjekt laddar SQL Server och CLR assembleren (och dess referenser) där det hanterade databasobjektet är definierat. Assembleren förblir laddad i SQL Server för att öka prestandan, så att de hanterade databasobjekten i assembleren kan anropas i framtiden utan att behöva ladda om assembleren. Assemblern avlastas inte förrän SQL Server kommer under minnespress. För mer information om assemblies och CLR-integration, se CLR Hosted Environment. För mer information om hanterade databasobjekt, se Building Database Objects with Common Language Runtime (CLR) Integration.

Kolumnnamn Datatyp Description
assembly_id int ID för den laddade enheten. assembly_id kan användas för att slå upp mer information om assembleren i sys.assemblies (Transact-SQL) katalogvy. Observera att katalogen Transact-SQL sys.assemblies endast visar assembler i den aktuella databasen. Den sqs.dm_clr_loaded_assemblies vyn visar alla laddade assemblies på servern.
appdomain_address int Adressen till applikationsdomänen (AppDomain) där assembleren laddas. Alla assemblies som ägs av en enskild användare laddas alltid i samma AppDomain. appdomain_address kan användas för att slå upp mer information om AppDomain i sys.dm_clr_appdomains-vyn.
load_time datetime Tiden när monteringen var laddad. Observera att assembleren förblir laddad tills SQL Server är under minnespress och avlastar AppDomain. Du kan övervaka load_time för att förstå hur ofta SQL Server utsätts för minnestryck och lastar ur AppDomain.

Permissions

Kräver VIEW SERVERTILLSTÅND på servern.

Behörigheter för SQL Server 2022 och senare

Kräver VIEW SERVER PERFORMANCE STATE behörighet på servern.

Remarks

Vyn dm_clr_loaded_assemblies.appdomain_address har en många-till-en-relation med dm_clr_appdomains.appdomain_address. dm_clr_loaded_assemblies.assembly_id-vyn har en en-till-många-relation med sys.assemblies.assembly_id.

Examples

Följande exempel visar hur man kan visa detaljer för alla sammansättningar i den aktuella databasen som för närvarande laddas.

 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;  

Följande exempel visar hur man kan visa detaljer i AppDomain där en given assembler laddas.

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);  

Se även

Dynamiska hanteringsvyer relaterade till Common Language Runtime (Transact-SQL)