Sdílet prostřednictvím


Správa sestavení integrace CLR

Applies to:SQL Server

Spravovaný kód se zkompiluje a pak se nasadí v jednotkách označovaných jako sestavení CLR (Common Language Runtime). Sestavení je zabaleno jako soubor KNIHOVNY DLL nebo spustitelného souboru (.exe). I když spustitelný soubor může běžet samostatně, musí být knihovna DLL hostována v existující aplikaci. Spravovaná sestavení DLL lze načíst do SQL Serveru a hostovat je. SQL Server vyžaduje registraci sestavení v databázi pomocí příkazu CREATE ASSEMBLY před načtením do procesu a jeho použití. Sestavení lze také aktualizovat z novější verze pomocí příkazu ALTER ASSEMBLY nebo odebrat z SQL Serveru pomocí příkazu DROP ASSEMBLY.

Informace o sestavení jsou uloženy v sys.assembly_files tabulce v databázi, kde je sestavení nainstalováno. Tabulka sys.assembly_files obsahuje následující sloupce.

Column Description
assembly_id Identifikátor definovaný pro sestavení. Toto číslo je přiřazeno všem objektům vztahujícím se ke stejnému sestavení.
name Název objektu.
file_id Číslo identifikující každý objekt s prvním objektem přidruženým k danému assembly_id s hodnotou 1. Pokud je ke stejnému assembly_idpřidruženo více objektů, pak se každá další file_id hodnota zvýší o 1.
content Šestnáctkové znázornění sestavení nebo souboru.

V této části

Article Description
Vytvoření sestavení Popisuje vytváření SAFE, EXTERNAL_ACCESSa UNSAFE sestavení CLR na SQL Serveru.
Změna sestavení Popisuje aktualizaci sestavení CLR na SQL Serveru.
přetažení sestavení Popisuje vyřazení sestavení CLR z SQL Serveru.

Zabezpečení přístupu kódu se už nepodporuje.

CLR používá zabezpečení přístupu kódu (CAS) v rozhraní .NET Framework, které se už nepodporuje jako hranice zabezpečení. Sestavení CLR vytvořené s PERMISSION_SET = SAFE může mít přístup k externím systémovým prostředkům, volat nespravovaný kód a získat oprávnění správce systému. V SQL Serveru 2017 (14.x) a novějších verzích, možnost sp_configure, přísné zabezpečení CLR, vylepšuje zabezpečení sestavení CLR. clr strict security je ve výchozím nastavení povolen a se sestaveními SAFE a EXTERNAL_ACCESS zachází, jako by byla označena UNSAFE. Možnost clr strict security může být zakázaná kvůli zpětné kompatibilitě, ale nedoporučuje se.

Doporučujeme podepsat všechna sestavení certifikátem nebo asymetrickým klíčem s odpovídajícím přihlašovacím jménem, kterému bylo uděleno oprávnění UNSAFE ASSEMBLY v databázi master. Správci SQL Serveru mohou také přidat sestavení do seznamu sestavení, kterým má databázový stroj důvěřovat. For more information, see sys.sp_add_trusted_assembly.