Dela via


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 Sammansättningskörning tillåts inte på SQL Server.
1 Sammansättningskörning tillåts 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 RECONFIGUREoch körningsvärdet clr enabled för alternativet ändras från 1 till 0tas alla programdomäner som innehåller användarsammansättningar bort omedelbart.

Begränsningar

CLR-körning (Common Language Runtime) stöds inte under enkel 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;