In meiner gespeicherten Prozedur sende ich E-Mails mit sp_send_email. Meine gespeicherte Prozedur wird in verschiedenen Umgebungen ausgeführt. Einige werden E-Mail aktiviert haben, andere nicht.Überprüfung der sp_send_email-Berechtigung vor der Ausführung
Wenn ich laufen sp_send_email ohne es aktiviert ist, ich (zu recht)
SQL Server Zugriff auf Prozedur ‚dbo.sp_send_dbmail‘ blockiert der Komponente ‚Database Mail XPs‘ diese Fehlermeldung erhalten, weil diese Komponente deaktiviert als Teil der Sicherheitskonfiguration für diesen Server.
Ich möchte überprüfen, ob E-Mailing zuerst aktiviert ist, so kann ich den Fehler vermeiden, indem Sie folgendermaßen vorgehen:
IF @is_enabled
BEGIN
EXEC sp_send_email ...
END
Wie kann ich richtig @is_enabled eingestellt?
+1 ja, eigentlich sys.configurations ist besser als sp_configure Ausgabe –
BTW das Systemadministrator Problem kann durch Code-Signing der Prüfung angesprochen werden. –
Oder entladen zu einer Startprozedur, die ein Flag in einer Benutzertabelle in einer Benutzerdatenbank setzt. Die Code-Signing-Idee ist jedoch nützlich. – gbn