Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Ist es schlecht, WITH PERMISSION_SET =UNSAFE für eine Assembly in SQL 2005 zu verwenden?

Es gibt drei verschiedene permission_set-Optionen, die einschränken, was die Assembly tun kann

SAFE - Beschränkt die Assembly auf verwalteten Code

EXTERNAL_ACCESS - ermöglicht den Zugriff auf Dateien, Netzwerkressourcen usw..

UNSAFE - Uneingeschränkter Zugriff - einschließlich der Ausführung von nicht verwaltetem Code

MSDN docs geben die folgende Anleitung

Wenn Ihre Assembly nur Funktionen von .NET 3.5 verwendet, verstehe ich nicht, warum sie UNSAFE benötigen würde Zugriff.

Möglicherweise verwenden Sie einen der Typen oder Member, die aus der System.Core-Bibliothek nicht zugelassen sind. Microsoft hat eine Liste davon. Unzulässige Typen und Member in System.Core.dll

Hier gibt es noch ein paar Infos. Hostschutzattribute und CLR-Integrationsprogrammierung