Aracılığıyla paylaş


CLR tümleştirme derlemelerini yönetme

Applies to:SQL Server

Yönetilen kod derlenip ortak dil çalışma zamanı (CLR) derlemesi olarak adlandırılan birimler halinde dağıtılır. Derleme dll veya yürütülebilir (.exe) dosyası olarak paketlenmiş. Yürütülebilir bir dosya kendi başına çalıştırılabilirken, dll'nin mevcut bir uygulamada barındırılması gerekir. Yönetilen DLL derlemeleri SQL Server'a yüklenebilir ve SQL Server tarafından barındırılabilir. SQL Server, işlemde yüklenip kullanılmadan önce CREATE ASSEMBLY deyimini kullanarak derlemeyi bir veritabanına kaydetmenizi gerektirir. Derlemeler ALTER ASSEMBLY deyimi kullanılarak daha yeni bir sürümden güncelleştirilebilir veya DROP ASSEMBLY deyimi kullanılarak SQL Server'dan kaldırılabilir.

Derleme bilgileri, derlemenin yüklendiği veritabanındaki sys.assembly_files tablosunda depolanır. sys.assembly_files tablosu aşağıdaki sütunları içerir.

Column Description
assembly_id Derleme için tanımlanan tanımlayıcı. Bu sayı, aynı derlemeyle ilgili tüm nesnelere atanır.
name Nesnenin adı.
file_id Belirli bir assembly_id ile ilişkili ilk nesnenin 1 değeri verildiği her nesneyi tanımlayan bir sayı. Aynı assembly_idile birden çok nesne ilişkilendirildiyse, izleyen her file_id değeri 1 artırılır.
content Derlemenin veya dosyanın onaltılık gösterimi.

Bu bölümde

Article Description
Derleme oluşturma SQL Server'da SAFE, EXTERNAL_ACCESSve UNSAFE CLR derlemeleri oluşturmayı ele alan
Derleme değiştirme SQL Server'da CLR derlemelerinin güncelleştirilmesini açıklar
Derleme bırakma SQL Server'dan CLR derlemelerinin bırakıldığı açıklanır

Kod erişim güvenliği artık desteklenmiyor

CLR, artık güvenlik sınırı olarak desteklenmeyen .NET Framework'te Kod Erişim Güvenliği'ni (CAS) kullanır. PERMISSION_SET = SAFE ile oluşturulan bir CLR derlemesi dış sistem kaynaklarına erişebilir, yönetilmeyen kodu çağırabilir ve sysadmin ayrıcalıkları alabilir. SQL Server 2017 (14.x) ve sonraki sürümlerinde, sp_configure seçeneği, clr katı güvenlik, CLR derlemelerinin güvenliğini artırır. clr strict security varsayılan olarak etkinleştirilir ve SAFE ve EXTERNAL_ACCESS derlemeleri UNSAFEolarak işaretlenmiş gibi değerlendirir. geriye dönük uyumluluk için clr strict security seçeneği devre dışı bırakılabilir, ancak önerilmez.

Tüm derlemeleri, UNSAFE ASSEMBLY veritabanında master izni verilmiş ilgili oturum ile bir sertifika veya asimetrik anahtarla imzalamanızı öneririz. SQL Server yöneticileri, Veritabanı Motoru'nun güvenmesi gereken bir derleme listesine de derleme ekleyebilir. For more information, see sys.sp_add_trusted_assembly.