sp_notify_operator (Transact-SQL)
Gilt für: SQL Server
Sendet mithilfe der Datenbank-E-Mail eine E-Mail-Nachricht an den Operator.
Transact-SQL-Syntaxkonventionen
Syntax
sp_notify_operator
[ [ @profile_name = ] N'profile_name' ]
[ , [ @id = ] id ]
[ , [ @name = ] N'name' ]
[ , [ @subject = ] N'subject' ]
[ , [ @body = ] N'body' ]
[ , [ @file_attachments = ] N'file_attachments' ]
[ , [ @mail_database = ] N'mail_database' ]
[ ; ]
Argumente
[ @profile_name = ] N'profile_name'
Der Name des Datenbank-E-Mail-Profils, das zum Senden der Nachricht verwendet wird. @profile_name ist "sysname" mit der Standardeinstellung "NULL
. Wenn @profile_name nicht angegeben ist, wird das Standardprofil Datenbank-E-Mail verwendet.
[ @id = ] ID
Die ID des Operators, an den die Nachricht gesendet wird. @id ist int mit einem Standardwert von NULL
.
Einer von @id oder @name muss angegeben werden.
[ @name = ] N'name'
Der Name des Operators, an den die Nachricht gesendet wird. @name ist "sysname" mit einem Standardwert von NULL
.
Einer von @id oder @name muss angegeben werden.
Eine E-Mail-Adresse muss für den Operator definiert werden, bevor sie Nachrichten empfangen können.
[ @subject = ] N'subject'
Der Betreff der E-Mail-Nachricht. @subject ist nvarchar(256), mit einem Standardwert von NULL
.
[ @body = ] N'body'
Der Text der E-Mail-Nachricht. @body ist nvarchar(max), mit einem Standardwert von NULL
.
[ @file_attachments = ] N'file_attachments'
Der Name einer Datei, die an die E-Mail angehängt werden soll. @file_attachments ist nvarchar(512), mit einem Standardwert von NULL
.
[ @mail_database = ] N'mail_database'
Gibt den Namen der Mailhostdatenbank an. @mail_database ist "sysname" mit der Standardeinstellung "msdb
. Wenn kein @mail_database angegeben ist, wird die msdb
Datenbank standardmäßig verwendet.
Rückgabecodewerte
0
(erfolgreich) oder 1
Fehler.
Hinweise
Sendet die Nachricht an die angegebene E-Mail-Adresse des angegebenen Operators. Wenn der Operator keine E-Mail-Adresse konfiguriert hat, sp_notify_operator
wird ein Fehler zurückgegeben.
Die Datenbank-E-Mail und eine Mailhostdatenbank müssen konfiguriert werden, bevor eine Benachrichtigung an einen Operator gesendet werden kann.
Berechtigungen
Diese gespeicherte Prozedur gehört der db_owner Rolle. Sie können berechtigungen für jeden Benutzer erteilen EXECUTE
, diese Berechtigungen können jedoch während eines SQL Server-Upgrades außer Kraft gesetzt werden.
Anderen Benutzern muss eine der folgenden SQL Server-Agent festen Datenbankrollen in der msdb
Datenbank gewährt werden:
- SQLAgentUserRole
- SQLAgentReaderRole
- SQLAgentOperatorRole
Weitere Informationen zu den Berechtigungen dieser Rollen finden Sie unter Feste Datenbankrollen des SQL Server-Agents.
Beispiele
Im folgenden Beispiel wird eine Benachrichtigungs-E-Mail an den Operator François Ajenstat
mit dem Datenbank-E-Mail-Profil AdventureWorks Administrator
gesendet. Der Betreff der E-Mail lautet Test Notification
. Die E-Mail-Nachricht enthält den Satz, This is a test of notification via e-mail
.
USE msdb;
GO
EXEC dbo.sp_notify_operator
@profile_name = N'AdventureWorks Administrator',
@name = N'François Ajenstat',
@subject = N'Test Notification',
@body = N'This is a test of notification via e-mail';
GO