E-Mail Nachricht an Operator

19/03/2009 - 16:19 von Manuel Kobloch | Report spam
Hallo,

ich habe mal wieder ein Problem :). Man kann ja mit dem SQL Server
2008 bequem eine E-Mail an einen Operator versenden, sollte ein Paket
nicht durchlaufen. Bei mir funktioniert das leider nicht. Auch nicht
im SSIS. Denn komischerweise finde ich keine Möglichkeit das globale
Profil einzugeben, welches aber verlangt wird.

Wie folgt bin ich vor gegangen:

im MS SQL Server Management Studio
- Verwaltung / Datenbank-E-Mail

hier das Profil "SQL Mail" eingerichtet, das eine SMTP


Verbindung zu unserem Mail Server aufbaut (quasi der Absender)

- SQL Server-Agent / Operatoren

Hier Operator "Manuel Knobloch" mit E-Mail Adresse


eingefügt (quasi Empfànger)


Wenn ich jetzt ein Server Agent Auftrag oder ein SSIS Paket einrichte
und so einstelle, dass eine E-Mail verschickt wird, wenn der Auftrag
durchgelaufen ist, kommt leider nichts an oder es kommt eine
Fehlermeldung. Wenn ich ins Protokoll schaue, steht sowas, dass kein
globales Profil eingerichtet wurde.

Wenn ich den T-SQL anschaue (den man leider nicht bearbeiten kann),
sieht das so aus:

EXECUTE msdb.dbo.sp_notify_operator @name=N'Manuel
Knobloch',@subject=N'Test',@body=N'Testnachricht'

Wenn ich diese Zeile zu Testzwecken in eine neue Abfrage kopiere und
sie um den Eintrag "@profile_name=N'SQL EMail'" ergànze, funktioniert
der Befehl und eine E-Mail kommt an. Das sieht dann so aus.

EXECUTE msdb.dbo.sp_notify_operator @profile_name=N'SQL
EMail',@name=N'Michael Alisch',@subject=N'Test',@body=N'Testnachricht'

Also mein Problem ist jetzt, dass ich eigentlich je nach Bedarf bequem
per MS SQL Server Management Studio die Operatoren wechseln möchte
(dafür ist die GUI ja auch da). Habe ich irgendwie die Möglichkeit ein
globales Profil anzugeben? Denn sonst wàre diese Funktion doch völlig
sinnlos.

Grüße

Manuel
 

Lesen sie die antworten

#1 Christoph Muthmann
20/03/2009 - 07:52 | Warnen spam
Manuel Kobloch wrote:
Hallo,

ich habe mal wieder ein Problem :). Man kann ja mit dem SQL Server
2008 bequem eine E-Mail an einen Operator versenden, sollte ein Paket
nicht durchlaufen. Bei mir funktioniert das leider nicht. Auch nicht
im SSIS. Denn komischerweise finde ich keine Möglichkeit das globale
Profil einzugeben, welches aber verlangt wird.

Wie folgt bin ich vor gegangen:

im MS SQL Server Management Studio
- Verwaltung / Datenbank-E-Mail
> hier das Profil "SQL Mail" eingerichtet, das eine SMTP
Verbindung zu unserem Mail Server aufbaut (quasi der Absender)

- SQL Server-Agent / Operatoren
> Hier Operator "Manuel Knobloch" mit E-Mail Adresse
eingefügt (quasi Empfànger)


Wenn ich jetzt ein Server Agent Auftrag oder ein SSIS Paket einrichte
und so einstelle, dass eine E-Mail verschickt wird, wenn der Auftrag
durchgelaufen ist, kommt leider nichts an oder es kommt eine
Fehlermeldung. Wenn ich ins Protokoll schaue, steht sowas, dass kein
globales Profil eingerichtet wurde.

Wenn ich den T-SQL anschaue (den man leider nicht bearbeiten kann),
sieht das so aus:

EXECUTE msdb.dbo.sp_notify_operator @name=N'Manuel
Knobloch',@subject=N'Test',@body=N'Testnachricht'

Wenn ich diese Zeile zu Testzwecken in eine neue Abfrage kopiere und
sie um den Eintrag "@profile_name=N'SQL EMail'" ergànze, funktioniert
der Befehl und eine E-Mail kommt an. Das sieht dann so aus.

EXECUTE msdb.dbo.sp_notify_operator @profile_name=N'SQL
EMail',@name=N'Michael Alisch',@subject=N'Test',@body=N'Testnachricht'

Also mein Problem ist jetzt, dass ich eigentlich je nach Bedarf bequem
per MS SQL Server Management Studio die Operatoren wechseln möchte
(dafür ist die GUI ja auch da). Habe ich irgendwie die Möglichkeit ein
globales Profil anzugeben? Denn sonst wàre diese Funktion doch völlig
sinnlos.



Hallo Manuel,
ich richte Mail nur noch per Skript ein. Danach sollte das auch mit den
Operatoren funktionieren. Also Skript ablaufen lassen und danach noch mal
durch die GUI kontrollieren. Erst dann funktioniert es auch tatsàchlich.
Frag bitte nicht warum.
Für Dich reicht evtl., der Teil mit dem Standard-Profil, wenn der Rest schon
erledigt ist.


exec sys.sp_configure 'show advanced options', '1'
RECONFIGURE

EXEC sys.sp_configure N'Database Mail XPs', N'1'
RECONFIGURE

EXECUTE msdb.dbo.sysmail_add_account_sp
@account_name = 'SQLMail',
@description = 'Standard-Profil',
@email_address = 'àne',
@replyto_address = 'àne',
@display_name = 'SQLMail',
@mailserver_name = 'mein_Mailserver',
@use_default_credentials = 1



EXECUTE msdb.dbo.sysmail_add_profile_sp
@profile_name = 'SQLMail',
@description = 'Standard-Profil für den Server' ;


EXECUTE msdb.dbo.sysmail_add_profileaccount_sp
@profile_name = 'SQLMail',
@account_name = 'SQLMail',
@sequence_number =1 ;


EXECUTE msdb.dbo.sysmail_configure_sp
'MaxFileSize', '15000000' ;


Einen schönen Tag noch,
Christoph
Microsoft SQL Server MVP
http://www.insidesql.org

Ähnliche fragen