Freigeben über


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