Sdílet prostřednictvím


Konfigurace serveru: povoleno clr

platí pro:SQL Server

clr enabled Pomocí možnosti určete, zda SQL Server může spouštět uživatelská sestavení. Tato clr enabled možnost poskytuje následující hodnoty:

Hodnota Description
0 Spuštění sestavení není povoleno na SQL Serveru.
1 Na SQL Serveru je povoleno spouštění sestavení.

Pouze pro WOW64: restartujte servery WOW64, aby se tyto změny projevily. Pro jiné typy serverů není vyžadován žádný restart.

Při spuštění RECONFIGURE, a když se hodnota možnosti clr enabled změní z 1 na 0, všechny aplikační domény obsahující uživatelská sestavení se okamžitě uvolní.

Omezení

Spouštění modulu CLR (Common Language Runtime) se v rámci zjednodušeného sdružování nepodporuje.

Zakažte jednu ze dvou možností: clr enabled nebo lightweight pooling. Funkce, které spoléhají na CLR a které nefungují správně v režimu vláken, zahrnují datový typ hierarchyid , funkci, replikaci a správu založenou FORMAT na zásadách. Další informace naleznete v tématu Konfigurace serveru: zjednodušené sdružování.

Přestože je v Azure SQL Database povolená clr enabled možnost konfigurace, vývoj uživatelských funkcí CLR se ve službě Azure SQL Database nepodporuje.

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. Další informace naleznete v tématu sys.sp_add_trusted_assembly.

Examples

Následující příklad nejprve zobrazí aktuální nastavení clr enabled možnosti a potom povolí možnost nastavením hodnoty možnosti na hodnotu 1. Pokud chcete tuto možnost zakázat, nastavte hodnotu na 0.

EXECUTE sp_configure 'clr enabled';
EXECUTE sp_configure 'clr enabled', '1';
RECONFIGURE;
  • možnosti konfigurace serveru
  • sp_configure (Transact-SQL)