Udostępnij za pomocą


Konfiguracja serwera: clr enabled

Dotyczy:SQL Server

clr enabled Użyj opcji , aby określić, czy program SQL Server może uruchamiać zestawy użytkowników. Opcja clr enabled zawiera następujące wartości:

Wartość Description
0 Wykonywanie zestawu nie jest dozwolone w programie SQL Server.
1 Wykonywanie zestawu dozwolone w programie SQL Server.

Tylko w przypadku platformy WOW64: uruchom ponownie serwery WOW64, aby zastosować te zmiany. W przypadku innych typów serwerów nie jest wymagane ponowne uruchomienie.

Po uruchomieniu RECONFIGUREclr enabled polecenia , a wartość przebiegu opcji zostanie zmieniona z 1 na 0, wszystkie domeny aplikacji zawierające zestawy użytkownika są natychmiast zwalniane.

Ograniczenia

Wykonywanie środowiska uruchomieniowego języka wspólnego (CLR) nie jest obsługiwane w uproszczonej puli

Wyłącz jedną z dwóch opcji: clr enabled lub lightweight pooling. Funkcje, które opierają się na clR i które nie działają prawidłowo w trybie światłowodowym, obejmują hierarchyid typu danych, FORMAT funkcję, replikację i zarządzanie oparte na zasadach. Aby uzyskać więcej informacji, zobacz Konfiguracja serwera: uproszczone buforowanie.

clr enabled Chociaż opcja konfiguracji jest włączona w usłudze Azure SQL Database, tworzenie funkcji użytkownika środowiska CLR nie jest obsługiwane w usłudze Azure SQL Database.

Zabezpieczenia dostępu kodu nie są już obsługiwane

CLR używa zabezpieczeń dostępu kodu (CAS) w programie .NET Framework, który nie jest już obsługiwany jako granica bezpieczeństwa. Zestaw CLR utworzony za pomocą PERMISSION_SET = SAFE może mieć dostęp do zasobów systemu zewnętrznego, wywołać kod niezarządzany i uzyskać uprawnienia administratora systemu. W programie SQL Server 2017 (14.x) i nowszych wersjach opcja sp_configure, clr strict security, zwiększa bezpieczeństwo zestawów CLR. clr strict security jest domyślnie włączona i traktuje zestawy SAFE i EXTERNAL_ACCESS tak, jakby zostały oznaczone UNSAFE. Opcja clr strict security może być wyłączona w celu zapewnienia zgodności z poprzednimi wersjami, ale nie jest zalecana.

Zalecamy podpisanie wszystkich zestawów certyfikatem lub kluczem asymetrycznym, z odpowiadającym loginem, któremu udzielono uprawnienia UNSAFE ASSEMBLY w bazie danych master. Administratorzy programu SQL Server mogą również dodawać zestawy do listy zestawów, którym aparat bazy danych powinien ufać. Aby uzyskać więcej informacji, zobacz sys.sp_add_trusted_assembly.

Przykłady

Poniższy przykład najpierw wyświetla bieżące ustawienie clr enabled opcji, a następnie włącza opcję, ustawiając wartość opcji na 1. Aby wyłączyć tę opcję, ustaw wartość na 0.

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