Wprowadzenie do integracji środowiska CLR programu SQL Server

Środowisko uruchomieniowe języka wspólnego (CLR) jest sercem programu .NET Framework i zapewnia środowisko wykonawcze dla całego kodu programu .NET Framework. Kod uruchamiany w ramach środowiska CLR jest określany jako kod zarządzany. ClR udostępnia różne funkcje i usługi wymagane do wykonywania programu, w tym kompilację just in time (JIT), przydzielanie pamięci i zarządzanie nią, wymuszanie bezpieczeństwa typu, obsługa wyjątków, zarządzanie wątkami i zabezpieczenia.

Za pomocą środowiska CLR hostowanego w programie Microsoft SQL Server (nazywanej integracją CLR) można tworzyć procedury składowane, wyzwalacze, funkcje zdefiniowane przez użytkownika, typy zdefiniowane przez użytkownika i agregacje zdefiniowane przez użytkownika w kodzie zarządzanym. Ponieważ kod zarządzany kompiluje się do kodu natywnego przed wykonaniem, można osiągnąć znaczny wzrost wydajności w niektórych scenariuszach.

Kod zarządzany uruchomiony na platformie .NET Framework używa zabezpieczeń dostępu kodu (CAS), linków kodu i domen aplikacji, aby zapobiec wykonywaniu określonych operacji przez zestawy. Program SQL Server używa serwera CAS do zabezpieczania kodu zarządzanego i zapobiegania naruszeniu zabezpieczeń systemu operacyjnego lub serwera bazy danych.

Uwaga

Zabezpieczenia dostępu kodu (CAS) zostały wycofane we wszystkich wersjach programu .NET Framework i .NET. Najnowsze wersje platformy .NET nie honorują adnotacji CAS i generują błędy, jeśli są używane interfejsy API związane z usługą CAS. Deweloperzy powinni szukać alternatywnych sposobów wykonywania zadań zabezpieczeń.

Ta sekcja ma na celu dostarczenie tylko wystarczającej ilości informacji, aby rozpocząć programowanie z integracją środowiska CLR z programem SQL Server i nie ma być kompleksowe. Aby uzyskać bardziej szczegółowe informacje, zobacz Omówienie integracji środowiska uruchomieniowego języka wspólnego (CLR).

Włączanie integracji środowiska CLR

Funkcja integracji środowiska uruchomieniowego języka wspólnego (CLR) jest domyślnie wyłączona w programie Microsoft SQL Server i musi być włączona w celu używania obiektów implementowanych przy użyciu integracji środowiska CLR. Aby włączyć integrację środowiska CLR przy użyciu języka Transact-SQL, użyj clr enabled opcji sp_configure procedury składowanej, jak pokazano poniżej:

sp_configure 'clr enabled', 1  
GO  
RECONFIGURE  
GO  

Integrację środowiska CLR można wyłączyć, ustawiając clr enabled opcję na 0. Po wyłączeniu integracji środowiska CLR program SQL Server zatrzymuje wykonywanie wszystkich procedur CLR i zwalnia wszystkie domeny aplikacji.

Aby uzyskać bardziej szczegółowe informacje, zobacz Włączanie integracji środowiska CLR.

Wdrażanie zestawu CLR

Po przetestowaniu i zweryfikowaniu metod CLR na serwerze testowym można je dystrybuować do serwerów produkcyjnych przy użyciu skryptu wdrażania. Skrypt wdrażania można wygenerować ręcznie lub przy użyciu programu SQL Server Management Studio. Aby uzyskać bardziej szczegółowe informacje, zobacz wersję dokumentacji programu SQL Server dotyczącą używanej wersji programu SQL Server.

SQL Server documentation (Dokumentacja programu SQL Server)

  1. Wdrażanie obiektów bazy danych CLR

Zabezpieczenia integracji środowiska CLR

Model zabezpieczeń integracji programu Microsoft SQL Server z środowiskiem Uruchomieniowym języka wspólnego programu Microsoft .NET Framework (CLR) zarządza i zabezpiecza dostęp między różnymi typami obiektów CLR i innych niż CLR uruchomionych w programie SQL Server. Te obiekty mogą być wywoływane przez instrukcję Języka Transact-SQL lub inny obiekt CLR uruchomiony na serwerze.

Aby uzyskać bardziej szczegółowe informacje, zobacz CLR Integration Security.

Debugowanie zestawu CLR

Program Microsoft SQL Server zapewnia obsługę debugowania obiektów języka Transact-SQL i środowiska uruchomieniowego języka wspólnego (CLR) w bazie danych. Debugowanie działa w różnych językach: użytkownicy mogą bezproblemowo przechodzić do obiektów CLR z języka Transact-SQL i na odwrót.

Aby uzyskać bardziej szczegółowe informacje, zobacz Debugowanie obiektów bazy danych CLR.

Zobacz też