Serverkonfiguration: clr aktiverat

Gäller för:SQL Server

Använd alternativet clr enabled för att ange om SQL Server kan köra användarsammansättningar. Alternativet clr enabled innehåller följande värden:

Värde Description
0 Körning av sammanställningar är inte tillåten på SQL Server.
1 Körning av sammansättningar är tillåten på SQL Server.

Endast för WOW64: starta om WOW64-servrar för att tillämpa dessa ändringar. Ingen omstart krävs för andra servertyper.

När du kör RECONFIGURE och körningsvärdet för alternativet clr enabled ändras från 1 till 0, avlastas alla programdomäner som innehåller användarassemblyer omedelbart.

Begränsningar

CLR-körning (Common Language Runtime) stöds inte med lättviktig poolning

Inaktivera ett av två alternativ: clr enabled eller lightweight pooling. Funktioner som förlitar sig på CLR och som inte fungerar korrekt i fiberläge inkluderar datatypen hierarchyid , FORMAT funktionen, replikeringen och principbaserad hantering. Mer information finns i Serverkonfiguration: enkel pool.

Även om konfigurationsalternativet clr enabled är aktiverat i Azure SQL Database stöds inte utveckling av CLR-användarfunktioner i Azure SQL Database.

Kodåtkomstsäkerhet stöds inte längre

CLR använder Code Access Security (CAS) i .NET Framework, som inte längre stöds som en säkerhetsgräns. En CLR-sammansättning som skapats med PERMISSION_SET = SAFE kan komma åt externa systemresurser, anropa ohanterad kod och hämta sysadmin-privilegier. I SQL Server 2017 (14.x) och senare versioner förbättrar alternativet sp_configure, strikt säkerhet, säkerheten för CLR-sammansättningar. clr strict security är aktiverat som standard och behandlar SAFE och EXTERNAL_ACCESS sammansättningar som om de hade markerats UNSAFE. Alternativet clr strict security kan inaktiveras för bakåtkompatibilitet, men rekommenderas inte.

Vi rekommenderar att du signerar alla sammansättningar med ett certifikat eller en asymmetrisk nyckel, med en motsvarande inloggning som har beviljats UNSAFE ASSEMBLY behörighet i master-databasen. SQL Server-administratörer kan också lägga till sammansättningar i en lista över sammansättningar som databasmotorn bör lita på. Mer information finns i sys.sp_add_trusted_assembly.

Examples

I följande exempel visas först den aktuella inställningen för clr enabled alternativet och aktiverar sedan alternativet genom att ange alternativvärdet till 1. Om du vill inaktivera alternativet anger du värdet till 0.

EXECUTE sp_configure 'clr enabled';
EXECUTE sp_configure 'clr enabled', '1';
RECONFIGURE;