Sdílet prostřednictvím


Podporované knihovny rozhraní .NET Framework

platí pro:SQL Server

S modulem CLR (Common Language Runtime) hostovaným na SQL Serveru můžete vytvářet uložené procedury, triggery, uživatelem definované funkce, uživatelem definované typy a agregace definované uživatelem ve spravovaném kódu. Díky funkcím v knihovnách tříd rozhraní .NET Framework máte přístup k předem připraveným třídám, které poskytují funkce pro manipulaci s řetězci, pokročilé matematické operace, přístup k souborům, kryptografii a další. K těmto třídám lze přistupovat z libovolné spravované uložené procedury, uživatelem definovaného typu, triggeru, uživatelem definované funkce nebo agregace definované uživatelem.

Pokud obsluhujete nebo upgradujete nepodporovaná sestavení v globální mezipaměti sestavení (GAC), může aplikace SQL Serveru přestat fungovat. Důvodem je to, že údržba nebo upgrade knihoven v GAC neaktualizuje tato sestavení uvnitř SQL Serveru. Pokud sestavení existuje v databázi SQL Serveru i v GAC, musí se dvě kopie sestavení přesně shodovat. Pokud se neshodují, dojde k chybě při použití sestavení integrací MODULU CLR SQL Serveru. Pokud obsluhujete nebo upgradujete všechna sestavení v GAC, která jsou také zaregistrována v databázi, včetně nepodporovaných sestavení rozhraní .NET Framework, nezapomeňte také obsluhovat nebo upgradovat kopii sestavení uvnitř databází SQL Serveru pomocí příkazu ALTER ASSEMBLY. Další informace najdete v tématu MSSQLSERVER_6522.

Podporované knihovny

SQL Server obsahuje seznam podporovaných knihoven rozhraní .NET Framework, které se testují, aby se zajistilo, že splňují standardy spolehlivosti a zabezpečení pro interakci s SQL Serverem. Podporované knihovny není nutné explicitně registrovat na serveru, aby je bylo možné použít ve vašem kódu; SQL Server je načte přímo z globální mezipaměti sestavení (GAC).

Knihovny a obory názvů podporované integrací CLR v SQL Serveru jsou:

  • mscorlib.dll
  • CustomMarshalers.dll
  • Microsoft.VisualBasic.dll
  • Microsoft.VisualC.dll
  • System.Configuration.dll
  • System.Core.dll
  • System.Data.OracleClient.dll
  • System.Data.SqlXml.dll
  • System.Data.dll
  • System.Deployment.dll
  • System.Security.dll
  • System.Transactions.dll
  • System.Web.Services.dll
  • System.Xml.Linq.dll
  • system.Xml.dll
  • System.dll

Nepodporované knihovny

Nepodporované knihovny se stále dají volat ze spravovaných uložených procedur, triggerů, uživatelem definovaných funkcí, uživatelsky definovaných typů a agregací definovaných uživatelem. Nepodporovaná knihovna musí být nejprve zaregistrována v databázi SQL Serveru pomocí příkazu CREATE ASSEMBLY, aby ji bylo možné použít v kódu. Všechny nepodporované knihovny, které jsou zaregistrované a spuštěné na serveru, by se měly kontrolovat a testovat z hlediska zabezpečení a spolehlivosti.

Například obor názvů System.DirectoryServices se nepodporuje. Před voláním z kódu je nutné zaregistrovat sestavení System.DirectoryServices.dll s oprávněními UNSAFE. Oprávnění UNSAFE je nezbytné, protože třídy v oboru názvů System.DirectoryServices nesplňují požadavky na SAFE nebo EXTERNAL_ACCESS. Další informace naleznete v tématu omezení programovacího modelu integrace CLR a CLR integration Code Access Security.