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

Wie registriere ich System.DirectoryServices für die Verwendung in SQL CLR-Benutzerfunktionen?

Die Informationen aus anderen Antworten führten mich zur Lösung. Hier sind die Schritte, die ich mir zum späteren Nachschlagen ausgedacht habe:

CREATE ASSEMBLY [System.DirectoryServices]
FROM 'C:\Windows\Microsoft.NET\Framework\v2.0.50727\System.DirectoryServices.dll'
WITH PERMISSION_SET = UNSAFE
GO

Als ich die obige Anweisung zum ersten Mal ausführte, erhielt ich den folgenden Fehler:

Damit die CREATE ASSEMBLY-Anweisung ohne Fehler ausgeführt wird, musste ich zunächst TRUSTWORTHY wie folgt einschalten:

ALTER DATABASE DatabaseName SET TRUSTWORTHY ON
GO

Sobald TRUSTWORTHY aktiviert ist, wurde der Befehl ohne Fehler ausgeführt, aber es wurde diese beängstigend klingende Warnung ausgegeben:

Wenn System.DirectoryServices ordnungsgemäß in SQL Server registriert ist, kann ich jetzt die abhängige benutzerdefinierte SQL CLR-Assembly ohne Probleme bereitstellen/registrieren.