SQL Server'da CLR yüklemek için genişletilmiş saklı yordamların veya SP_OA saklı yordamların kullanılması desteklenmez

Özgün ürün sürümü: SQL Server
Özgün KB numarası: 322884

Özet

SQL Server 2005 ve sonraki sürümlerde Ortak Dil Çalışma Zamanı (CLR) ve CLR dillerinde yazılan destek yordamları, işlevler, tetikleyiciler, türler ve toplamalar barındırılır. Bu sürümlerde, genişletilmiş saklı yordamları veya sp_OA saklı yordamları kullanarak CLR yükleyemezsiniz.

Özgün ürün sürümü: SQL Server
Özgün KB numarası: 322884

Daha fazla bilgi

.NET Framework derlemesiSystem.Runtime.InteropServices, yönetilmeyen koddan derlemeleri çağırmak için sağlam bir ortam sağlar. Ancak, CLR ve SQL Server iç uygulamaları arasında birkaç teknik uyumsuzluk vardır.

Iş parçacığı

CLR, performansı artırmak için İş Parçacığı Yerel Depolaması uygular.

Ayrıca CLR yalnızca iş parçacığı tabanlı zamanlama kullanır ve Fiber mod zamanlamayı desteklemez. Ancak SQL Server Fiber modu zamanlamasını kullanabilir. Bu özelliği yapılandırmak için, basit havuzlama seçeneğini kullanarak saklı yordamı çalıştırın sp_configure . Bu konu hakkında daha fazla bilgi için bkz. Basit havuza alma Sunucusu Yapılandırma Seçeneği.

Bellek

Genişletilmiş saklı yordamların ve OLE Otomasyonu'nun kullanımı, SQL Server belleğinin sanal bellek adres alanında çalışır. Varsayılan SQL Server bellek, SQL Server kullanabileceği belleğin yalnızca bir bölümüdür ve CLR bu bellek kaynakları için mevcut uygulamalarla rekabet eder.

COM birlikte çalışabilirliği

Bu bölüm özellikle SQL Server'de OLE Otomasyonu kullanımını ele alır ve hem işlem içi hem de işlem dışı COM nesneleri için geçerlidir. İşlev arabirimleri için derleme meta verileri, tüm çağrılar için türlenmiş bir mekanizma uygular.

Bu tasarımın bir parçası olarak, bir derleme için COM Çağrılabilen sarmalayıcı, bir ClassID'yi yönetilen sınıfın bir üyesine eşlemek için bir dış mekanizma kullanmalıdır. Bu açık eşleme nedeniyle, yönetilmeyen bir perspektiften kullanılabilir arabirimlerin kök listesini oluşturma olanağı yoktur.

Genişletilmiş saklı yordam sp_oaCreate , belirli bir arabirim için nesnenin desteğini belirlemek için arabirimini kullanır IUnknown::QueryInterface . CLR ile yönetilmeyen kod arasındaki birlikte çalışabilirlik, arabirimleri uygulamak için IDispatch arabirimine dayanır. CLR tabanlı derlemedeki bir QueryInterface yönteme eşdeğer olmadığından, nesnesinin bir örneğini oluşturamazsınız.