SQL Server CLR tarafından barındırılan ortamda test edilmemiş .NET Framework derlemeleri için destek ilkesi

Bu makalede, SQL Server'da .NET Framework ortak dil çalışma zamanı (CLR) tarafından barındırılan ortamda test edilmemiş Microsoft .NET Framework derlemeleri için destek ilkesi açıklanmaktadır.

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

Derleme testi ve desteği

SQL Server'da test edilmemiş bir .NET Framework derlemesine başvuran bir derlemeyi kaydettiğinizde aşağıdaki uyarı iletisini alabilirsiniz:

Kaydettiğiniz .Net frameworks assembly AssemblyName, SQL Server barındırılan ortamda tam olarak test edilmedi.

İleti, .NET Framework derlemesinin SQL Server CLR tarafından barındırılan ortamda test edilmemiş olduğu anlamına gelir. Bu nedenle, derleme SQL Server CLR tarafından barındırılan ortamda desteklenmez.

Düşük bellek koşulu gibi kritik bir koşul oluştuğunda, test edilmemiş bir .NET Framework derlemesi konak işleminden çıkabilir. Derlemeyi SQL Server CLR tarafından barındırılan ortamda kendi riskinize göre kullanabilirsiniz. Ancak SQL Server Müşteri Destek Hizmetleri (CSS), desteklenmeyen bir .NET Framework derlemesiyle ilişkili sorunları kullanmanıza ve gidermenize yardımcı olmaz. CSS, desteklenmeyen belirli bir derlemenin SQL Server sorunlarına neden olduğunu belirlerse, derlemeyi kullanmayı durdurmanız istenebilir. Ayrıca, CSS gerekirse belirli bir SQL Server sorununu giderdiğinde derlemeyi geçici olarak kullanmayı durdurmanız istenebilir.

Bütünleştirilmiş kod kaydı

İki tür .NET derlemesi vardır: saf ve karışık. Saf .NET derlemeleri yalnızca MSIL yönergelerini içerir. Karma derlemeler hem yönetilmeyen makine yönergelerini hem de MSIL yönergelerini içerir. Genel olarak karma derlemeler, "clr" anahtarı kullanılarak bir C++ derleyicisinde derlenir ve ayrıca yerel C++ kodundan oluşturulan makine yönergelerini içerir.

Desteklenen listede olmayan bir .NET Framework derlemesi kullandığınızda, derlemeyi CREATE ASSEMBLY ve başvuruda bulunılan derlemeleri SQL Server veritabanında kaydetmek için deyimini kullanmanız gerekir. SQL Server CREATE ASSEMBLY deyimi yalnızca saf .NET Framework derlemelerinin kaydedilmesini sağlar. Derleme veya başvuruda bulunılan herhangi bir derleme saf bir .NET Framework derlemesi değilse (ve bu nedenle karma bir derlemeyse), aşağıdaki hata iletisini alırsınız:

Msg 6544, Düzey 16, Durum 1, Satır 2
'<derleme adı' derlemesi hatalı biçimlendirilmiş veya saf bir .NET derlemesi olmadığından '<derleme adı>>' derlemesi için CREATE ASSEMBLY başarısız oldu.
Doğrulamaz PE Üst Bilgisi/yerel saplama.

Bu durumda, derleme bu makalede belgelenen desteklenen listede olmadığı sürece .NET Framework derlemesini SQL CLR ile birlikte kullanamazsınız. Ayrıca, .NET Framework derlemesi saf bir derlemeden sürümler arasında karma bir derlemeye değişebilir. Desteklenen listede olmayan bir derleme kullanıyorsanız, derlemenin .NET Framework'ün bir sürümünde çalıştığı ancak başka bir sürümde çalışmadığı bir durumla karşınıza çıkabilir. Bu derlemelerin deyimi kullanılarak CREATE ASSEMBLY kaydedilmesi gerekmediğinden, bu kısıtlama desteklenen listedeki derlemeler için geçerli değildir.

Ayrıca, .NET Framework'i yükseltdikten sonra bu derlemeleri korumanız gerekir. BIR CLR yordamı yürütürken veya SQL Server'da bir derleme kullandığınızda aşağıdaki hata iletisi gösterilir:

Konak deposundaki derlemenin, GAC'deki derlemeden farklı bir imzası vardır. (HRESULT özel durumu: 0x80131050)

SQL Server CLR tarafından barındırılan bir ortamda desteklenen derlemeler

Aşağıdaki .NET Framework derlemeleri SQL Server CLR tarafından barındırılan bir ortamda desteklenir:

  • Microsoft.VisualBasic.dll

  • Mscorlib.dll

  • System.Data.dll

  • System.dll

  • System.Xml.dll

  • Microsoft.VisualC.dll

  • CustomMarshalers.dll

  • System.Security.dll

  • System.Web.Services.dll

  • System.Data.SqlXml.dll

  • System.Transactions.dll

  • System.Data.OracleClient.dll

  • System.Configuration.dll