Quantcast
Channel: Für Entwickler: SQL Server Forum
Viewing all articles
Browse latest Browse all 1772

CLR stored proc und Berechtigung

$
0
0

Guten Morgen,

ich habe hier eine Express 2008R2-Instanz und kann laut OH Datenbankmail nicht benutzen (es funktioniert trotzdem, ich will mich aber nicht darauf verlassen, dass das mit dem nächsten SP auch noch so ist)

Deshalb habe ich mir mit VB2010 eine dll geschrieben, die mailen kann.
Diese registriere ich mit

create assembly fhsendmail from 'C:\Scripts\fhsendmail.dll'
with permission_set  =  EXTERNAL_ACCESS
(SAFE geht ja wohl nicht, weil ich externe Ressourcen anspreche)

Dann noch die Proc erstellt, die die assembly benutzt:

create procedure dbo.fhSendMail (...)
WITH EXECUTE AS CALLER AS
EXTERNAL NAME [fhsendmail].[fhsendmail.sendmail].[SMTPMail]

CLR-Erweiterungen sind auch erlaubt.

 

So, nun das Problem: Daheim auf Windows 7/64 funktioniert das; hier auf Windows Server 2008R2 funktioniert das nicht 

"Meldung 10314, Ebene 16, Status 11, Zeile 5

Fehler in Microsoft .NET Framework beim Laden der Assembly mit der ID 65542. Auf dem Server sind möglicherweise nicht genügend Ressourcen verfügbar, oder die Assembly ist mit PERMISSION_SET = EXTERNAL_ACCESS oder UNSAFE nicht vertrauenswürdig. Führen Sie die Abfrage erneut aus, oder lesen Sie in der Dokumentation nach, wie Sie Probleme mit der Vertrauenswürdigkeit von Assemblys lösen. Weitere Informationen zu diesem Fehler finden Sie unter: " Wo ich das finde, steht wirklich nicht da.

Als nächstes habe ich die dll signiert und neu erstellt und einen Schlüssel auf dem SQL-Server erstellt

 

USE master
GO
CREATE ASYMMETRIC KEY fhSendMailKey FROM EXECUTABLE FILE = 'C:\Scripts\fhsendmail.dll'
CREATE LOGIN fhSendMailLogin FROM ASYMMETRIC KEY fhSendMailKey
GRANT EXTERNAL ACCESS ASSEMBLY TO fhSendMailLogin

 

Auch das - erfolglos.

 

Hilft mir jemand auf die Sprünge?

 

Danke schonmal,
Frank


Viewing all articles
Browse latest Browse all 1772

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>