Bagikan melalui


sys.dm_clr_loaded_assemblies (T-SQL)

Berlaku untuk: SQL Server

Mengembalikan baris untuk setiap rakitan pengguna terkelola yang dimuat ke ruang alamat server. Gunakan tampilan ini untuk memahami dan memecahkan masalah objek database terkelola integrasi CLR yang dijalankan di Microsoft SQL Server.

Rakitan adalah file DLL kode terkelola yang digunakan untuk menentukan dan menyebarkan objek database terkelola di SQL Server. Setiap kali pengguna menjalankan salah satu objek database terkelola ini, SQL Server dan CLR memuat rakitan (dan referensinya) tempat objek database terkelola ditentukan. Rakitan tetap dimuat di SQL Server untuk meningkatkan performa, sehingga objek database terkelola yang terkandung dalam rakitan dapat dipanggil di masa depan dengan keluar harus memuat ulang rakitan. Rakitan tidak dibongkar sampai SQL Server berada di bawah tekanan memori. Untuk informasi selengkapnya tentang rakitan dan integrasi CLR, lihat Lingkungan yang Dihosting CLR. Untuk informasi selengkapnya tentang objek database terkelola, lihat Membangun Objek Database dengan Integrasi Common Language Runtime (CLR).

Nama kolom Jenis data Deskripsi
assembly_id int ID rakitan yang dimuat. assembly_id dapat digunakan untuk mencari informasi lebih lanjut tentang rakitan di tampilan katalog sys.assemblies (Transact-SQL). Perhatikan bahwa katalog Transact-SQL sys.assemblies hanya menampilkan rakitan dalam database saat ini. Tampilan sqs.dm_clr_loaded_assemblies memperlihatkan semua rakitan yang dimuat di server.
appdomain_address int Alamat domain aplikasi (AppDomain) tempat assembly dimuat. Semua rakitan yang dimiliki oleh satu pengguna selalu dimuat di AppDomain yang sama. appdomain_address dapat digunakan untuk mencari informasi selengkapnya tentang AppDomain dalam tampilan sys.dm_clr_appdomains.
load_time datetime Waktu ketika assembly dimuat. Perhatikan bahwa rakitan tetap dimuat sampai SQL Server berada di bawah tekanan memori dan membongkar AppDomain. Anda dapat memantau load_time untuk memahami seberapa sering SQL Server berada di bawah tekanan memori dan membongkar AppDomain.

Izin

Memerlukan izin TAMPILKAN STATUS SERVER pada server.

Izin untuk SQL Server 2022 dan yang lebih baru

Memerlukan izin TAMPILKAN STATUS PERFORMA SERVER pada server.

Keterangan

Tampilan dm_clr_loaded_assemblies.appdomain_address memiliki hubungan banyak ke satu dengan dm_clr_appdomains.appdomain_address. Tampilan dm_clr_loaded_assemblies.assembly_id memiliki hubungan satu ke banyak dengan sys.assemblies.assembly_id.

Contoh

Contoh berikut menunjukkan cara menampilkan detail semua rakitan dalam database saat ini yang saat ini dimuat.

 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;  

Contoh berikut menunjukkan cara melihat detail AppDomain tempat rakitan tertentu dimuat.

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

Lihat Juga

Tampilan Manajemen Dinamis terkait Runtime Bahasa Umum (Transact-SQL)