Freigeben über


sp_notify_operator (Transact-SQL)

Sendet mithilfe der Datenbank-E-Mail eine E-Mail-Nachricht an den Operator.

Themenlink (Symbol)Transact-SQL-Syntaxkonventionen

Syntax

sp_notify_operator
    [ @profile_name = ] 'profilename' ,
    [ @id = ] id ,
    [ @name = ] 'name' ,
    [ @subject = ] 'subject' ,
        [ @body = ] 'message' ,
    [ @file_attachments = ] 'attachment'
    [ @mail_database = ] 'mail_host_database'

Argumente

  • [ @profile_name= ] 'profilename'
    Der Name des Datenbank-E-Mail-Profils, das zum Senden der Nachricht verwendet wird. profilename ist vom Datentyp nvarchar(128). Falls profilename nicht angegeben ist, wird das standardmäßige Datenbank-E-Mail-Profil verwendet.

  • [ @id= ] id
    Die ID des Operators, an den die Nachricht gesendet wird. id ist vom Datentyp int und hat den Standardwert NULL. Es muss entweder id oder name angegeben werden.

  • [ @name= ] 'name'
    Der Name des Operators, an den die Nachricht gesendet wird. name ist ein Wert vom Datentyp nvarchar(128). Der Standardwert ist NULL. Es muss entweder id oder name angegeben werden.

    HinweisHinweis

    Zum Empfangen von Nachrichten muss eine E-Mail-Adresse für den Operator definiert sein.

  • [ @subject= ] 'subject'
    Der Betreff der E-Mail-Nachricht. subject ist ein Wert vom Datentyp nvarchar(256) und hat keinen Standardwert.

  • [ @body= ] 'message'
    Der Text der E-Mail-Nachricht. message ist ein Wert vom Datentyp nvarchar(max) und hat keinen Standardwert.

  • [ @file_attachments= ] 'attachment'
    Der Name der Datei, die an die E-Mail-Nachricht angefügt wird. attachment ist ein Wert vom Datentyp nvarchar(512) und hat keinen Standardwert.

  • [ @mail_database= ] 'mail_host_database'
    Gibt den Namen der Mailhostdatenbank an. mail_host_database ist ein Wert vom Datentyp nvarchar(128). Falls mail_host_database nicht angegeben ist, wird standardmäßig die msdb-Datenbank verwendet.

Rückgabecodewerte

0 (Erfolg) oder 1 (Fehler)

Hinweise

Sendet die Nachricht an die angegebene E-Mail-Adresse des angegebenen Operators. Falls für den Operator keine E-Mail-Adresse konfiguriert ist, 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. Weitere Informationen finden Sie unter Vorgehensweisen für Datenbank-E-Mail.

Berechtigungen

Standardmäßig können nur Mitglieder der festen Serverrolle sysadmin diese gespeicherte Prozedur ausführen. Anderen Benutzern muss eine der folgenden festen Datenbankrollen des SQL Server-Agents in der msdb-Datenbank zugewiesen 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 AdventureWorks2008R2 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'AdventureWorks2008R2 Administrator',
   @name = N'François Ajenstat',
   @subject = N'Test Notification',
   @body = N'This is a test of notification via e-mail.' ;
GO