SQL Server CLR Tümleştirmesine Giriş

Ortak dil çalışma zamanı (CLR), .NET Framework'ün kalbidir ve tüm .NET Framework kodu için yürütme ortamı sağlar. CLR içinde çalışan kod, yönetilen kod olarak adlandırılır. CLR tam zamanında (JIT) derleme, bellek ayırma ve yönetme, tür güvenliğini zorlama, özel durum işleme, iş parçacığı yönetimi ve güvenlik gibi program yürütme için gereken çeşitli işlevler ve hizmetler sağlar.

Microsoft SQL Server'da barındırılan CLR ile (CLR tümleştirmesi olarak adlandırılır), yönetilen kodda saklı yordamlar, tetikleyiciler, kullanıcı tanımlı işlevler, kullanıcı tanımlı türler ve kullanıcı tanımlı toplamalar yazabilirsiniz. Yönetilen kod yürütmeden önce yerel koda derlendiğinden, bazı senaryolarda önemli performans artışları elde edebilirsiniz.

.NET Framework üzerinde çalışan yönetilen kod, derlemelerin belirli işlemleri gerçekleştirmesini önlemek için Kod Erişim Güvenliği (CAS), kod bağlantıları ve uygulama etki alanlarını kullanır. SQL Server, yönetilen kodun güvenliğini sağlamaya ve işletim sistemi veya veritabanı sunucusunun güvenliğinin aşılmasını önlemeye yardımcı olmak için CAS kullanır.

Not

Kod Erişim Güvenliği (CAS), .NET Framework ve .NET'in tüm sürümlerinde kullanım dışı bırakılmıştır. .NET'in son sürümleri CAS ek açıklamalarını dikkate almaz ve CAS ile ilgili API'ler kullanılırsa hata üretir. Geliştiriciler, güvenlik görevlerini yerine getirmek için alternatif yöntemler aramalıdır.

Bu bölüm, SQL Server CLR tümleştirmesi ile programlamaya başlamak için yalnızca yeterli bilgi sağlamaya yöneliktir ve kapsamlı olması amaçlanmamıştır. Daha ayrıntılı bilgi için bkz . Ortak Dil Çalışma Zamanı (CLR) Tümleştirmeye Genel Bakış.

CLR Tümleştirmesini Etkinleştirme

Ortak dil çalışma zamanı (CLR) tümleştirme özelliği Microsoft SQL Server'da varsayılan olarak kapalıdır ve CLR tümleştirmesi kullanılarak uygulanan nesnelerin kullanılabilmesi için etkinleştirilmesi gerekir. Transact-SQL kullanarak CLR tümleştirmesini clr enabled etkinleştirmek için, aşağıda gösterildiği gibi saklı yordamın sp_configure seçeneğini kullanın:

sp_configure 'clr enabled', 1  
GO  
RECONFIGURE  
GO  

Seçeneği 0 olarak ayarlayarak CLR tümleştirmesini clr enabled devre dışı bırakabilirsiniz. CLR tümleştirmesini devre dışı bırakırsanız, SQL Server tüm CLR yordamlarını yürütmeyi durdurur ve tüm uygulama etki alanlarını kaldırır.

Daha ayrıntılı bilgi için bkz . CLR Tümleştirmesini Etkinleştirme.

CLR Derlemesi Dağıtma

CLR yöntemleri test sunucusunda test edilip doğrulandıktan sonra, dağıtım betiği kullanılarak üretim sunucularına dağıtılabilir. Dağıtım betiği el ile veya SQL Server Management Studio kullanılarak oluşturulabilir. Daha ayrıntılı bilgi için kullandığınız SQL Server sürümü için SQL Server belgelerine bakın.

SQL Server belgeleri

  1. CLR Veritabanı Nesnelerini Dağıtma

CLR Tümleştirme Güvenliği

Microsoft .NET Framework ortak dil çalışma zamanı (CLR) ile Microsoft SQL Server tümleştirmesinin güvenlik modeli, FARKLı clr türleri ile SQL Server içinde çalıştırılan CLR olmayan nesneler arasındaki erişimi yönetir ve güvenliğini sağlar. Bu nesneler bir Transact-SQL deyimi veya sunucuda çalışan başka bir CLR nesnesi tarafından çağrılabilir.

Daha ayrıntılı bilgi için bkz . CLR Tümleştirme Güvenliği.

CLR Derlemesinde Hata Ayıklama

Microsoft SQL Server, transact-SQL ve ortak dil çalışma zamanı (CLR) nesnelerinin veritabanında hata ayıklaması için destek sağlar. Hata ayıklama farklı dillerde çalışır: Kullanıcılar Transact-SQL'den CLR nesnelerine sorunsuz bir şekilde adım atabilir ve tam tersi de geçerlidir.

Daha ayrıntılı bilgi için bkz . CLR Veritabanı Nesnesinde Hata Ayıklama.

Ayrıca bkz.