Serverkonfiguration: Clr aktiviert
Gilt für: SQL Server
Mithilfe der Option clr enabled
können Sie angeben, ob Benutzerassemblys von SQL Server ausgeführt werden können. Die Option clr enabled
stellt folgende Werte bereit:
Wert | Beschreibung |
---|---|
0 |
Das Ausführen von Assemblys für SQL Serverist unzulässig. |
1 |
Das Ausführen von Assemblys für SQL Serverist zulässig. |
Nur für WOW64: Starten Sie WOW64-Server neu, um diese Änderungen anzuwenden. Für andere Servertypen ist ein Neustart nicht erforderlich.
Wenn Sie RECONFIGURE
ausführen und der Ausführungswert der clr enabled
Option von 1
zu 0
geändert wird, werden alle Anwendungsdomänen mit Benutzerassemblys sofort entladen.
Begrenzungen
CLR (Common Language Runtime) wird beim Lightweightpooling nicht unterstützt
Deaktivieren Sie eine von zwei Optionen: clr enabled
oder lightweight pooling
. Zu den Funktionen, die auf CLR basieren und nicht ordnungsgemäß im Fibermodus arbeiten, gehören der Datentyp hierarchyid, die Funktion FORMAT
, die Replikation und die richtlinienbasierte Verwaltung. Weitere Informationen finden Sie unter Serverkonfiguration: Lightweightpooling.
Obwohl die Konfigurationsoption clr enabled
in Azure SQL-Datenbank aktiviert ist, wird die Entwicklung von CLR-Benutzerfunktionen in Azure SQL-Datenbank nicht unterstützt.
Codezugriffssicherheit wird nicht mehr unterstützt
CLR verwendet die Codezugriffssicherheit (Code Access Security, CAS) im .NET Framework, die nicht länger als Sicherheitsbegrenzung unterstützt wird. Eine CLR-Assembly, die mit PERMISSION_SET = SAFE
erstellt wurde, kann womöglich auf externe Systemressourcen zugreifen, nicht verwalteten Code aufrufen und sysadmin-Privilegien erwerben. In SQL Server 2017 (14.x) und höheren Versionen verbessert die sp_configure
Option clr strict security die Sicherheit von CLR-Assemblys. clr strict security
ist standardmäßig aktiviert und behandelt SAFE
- und EXTERNAL_ACCESS
-Assemblys so, als wären Sie als UNSAFE
gekennzeichnet. Die Option clr strict security
kann für die Abwärtskompatibilität deaktiviert werden, es wird jedoch nicht empfohlen.
Wir empfehlen, dass Sie alle Assemblys durch ein Zertifikat oder einen asymmetrischen Schlüssel mit einem entsprechenden Anmeldenamen signieren, dem UNSAFE ASSEMBLY
-Berechtigung für die master
-Datenbank erteilt wurde. SQL Server-Administratoren können auch Assemblys einer Liste von Assemblys hinzufügen, der die Datenbank-Engine vertrauen sollte. Weitere Informationen finden Sie unter sys.sp_add_trusted_assembly.
Beispiele
Im folgenden Beispiel wird zunächst die aktuelle Einstellung der Option clr enabled
angezeigt. Anschließend wird die Option aktiviert, indem der Optionswert auf 1 festgelegt wird. Wenn Sie die Option deaktivieren möchten, legen Sie den Wert auf 0 fest.
EXEC sp_configure 'clr enabled';
EXEC sp_configure 'clr enabled' , '1';
RECONFIGURE;