Udostępnij za pośrednictwem


Atrybuty ochrony hosta i integracja CLR Programowanie

Aparat plików wykonywalnych języka wspólnego (CLR) udostępnia mechanizm interfejsów programowania zarządzanej aplikacji (API), będące częścią systemu .NET Framework z niektórych atrybutów, które mogą być przydatne do hosta CLR, takie jak adnotacji SQL Server, począwszy od SQL Server 2005. Przykładami takich atrybutów ochrony hostów (HPAs):

  • SharedState, wskazuje, czy w interfejsie API opisuje możliwości, aby utworzyć lub zarządzać udostępnionych stanu (na przykład klasy statycznej pola).

  • Synchronization, która wskazuje, czy w interfejsie API udostępnia możliwość wykonywania synchronizacji wątków.

  • ExternalProcessMgmt, która wskazuje, czy w interfejsie API opisuje sposób, aby kontrolować proces hosta.

Biorąc pod uwagę te atrybuty SQL Server Określa listę HPAs, które są niedozwolone w obsługiwanym środowisku za pośrednictwem zabezpieczeń dostępu do kodu (CAS). Wymagania dotyczące CAS są określone przez jedną z trzech SQL Server zestawy uprawnień: SAFE, EXTERNAL_ACCESS, lub UNSAFE. Jeden z tych poziomów zabezpieczeń trzy określono wirtualny plik dziennika jest zarejestrowany na serwerze, za pomocą CREATE ASSEMBLY Instrukcja. Kod wykonywany w ramach SAFE lub EXTERNAL_ACCESS zestawy uprawnień należy unikać typy lub elementy członkowskie, których System.Security.Permissions.HostProtectionAttribute atrybut stosowane. Aby uzyskać więcej informacji zobacz Tworzenie wirtualny plik dziennika i Ograniczenia dotyczące środowiska CLR model programowania integracja.

The HostProtectionAttribute is not a security permission as much as a way to improve reliability, in that it identifies specific code constructs, either types or methods, that the host may disallow.Korzystanie z HostProtectionAttribute Wymusza model programowania, który pomaga w ochronie stabilność hosta.

Atrybuty ochrony hosta

HPAs identyfikacji typu lub elementy członkowskie, które nie mieszczą się model programowania hosta i reprezentują następujące poziomy rosnącego zagrożenia niezawodności:

  • W przeciwnym razie są nieszkodliwe.

  • Może prowadzić do destabilization kodu użytkownika serwer zarządzany.

  • Może prowadzić do destabilization samego procesu serwera.

SQL Server nie zezwala na użycie typu lub składnik, który ma HostProtectionAttribute Określa, że System.Security.Permissions.HostProtectionResource Wyliczanie o wartości ExternalProcessMgmt, ExternalThreading, MayLeakOnAbort, SecurityInfrastructure, SelfAffectingProcessMgmnt, SelfAffectingThreading, SharedState, Synchronization, lub UI. Zapobiega to zestawy od wywołującego elementy członkowskie, które umożliwiają udostępnianie stanu, synchronizować, może być przyczyną przecieków zasób na zakończenie lub mają wpływ na spójność SQL Server proces.

Niedozwolone typy i elementy członkowskie

W poniższych tematach identyfikacji typów i członkowie którego HostProtectionResource wartości są zabronione przez SQL Server.

Uwaga

Na listach w tych tematach były generowane na podstawie zestawy obsługiwanych wersja systemu .NET Framework 2.0 z dodatkiem SP1.Aby uzyskać więcej informacji zobaczObsługiwany system .NET Framework biblioteki.

W tej sekcji