Sdílet prostřednictvím


sp_notify_operator (Transact-SQL)

platí pro:SQL Server

Odesílá e-mailovou zprávu operátorovi pomocí databázové pošty.

Transact-SQL konvence syntaxe

Syntaxe

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' ]
[ ; ]

Arguments

[ @profile_name = ] N'profile_name'

Název profilu Database Mail, který se používá k odeslání zprávy. @profile_name je sysname, s výchozím nastavením NULL. Pokud @profile_name není specifikováno, použije se výchozí profil Database Mail.

[ @id = ] id

Identifikátor, kterému má operátor zprávu poslat. @id je int, s výchozím nastavením NULL.

Musí být uveden @id nebo @name .

[ @name = ] N'jméno'

Jméno operátora, kterému se zpráva odesílá. @name je sysname s výchozím nastavením NULL.

Musí být uveden @id nebo @name .

Operátorovi musí být definována e-mailová adresa, než může přijímat zprávy.

[ @subject = ] N'subject'

Předmět e-mailové zprávy. @subject je nvarchar(256), s výchozím hodnotou NULL.

[ @body = ] N'body'

Text e-mailové zprávy. @body je nvarchar(max), s výchozím hodnotou NULL.

[ @file_attachments = ] N'file_attachments'

Název souboru, který se připojí k e-mailové zprávě. @file_attachments je nvarchar(512), s výchozím hodnotou NULL.

[ @mail_database = ] N'mail_database'

Specifikuje název databáze hostitele e-mailu. @mail_database je sysname s výchozím nastavením msdb. Pokud není uveden žádný @mail_database , databáze msdb se používá ve výchozím nastavení.

Hodnoty návratového kódu

0 (úspěch) nebo 1 (selhání).

Poznámky

Odešle zadanou zprávu na e-mailovou adresu určeného operátora. Pokud operátor nemá nastavenou e-mailovou adresu, sp_notify_operator vrací chybu.

Databáze Mail a databáze hostitele e-mailu musí být nakonfigurovány před tím, než může být operátorovi zaslání oznámení.

Povolení

Na tomto postupu můžete udělit EXECUTE oprávnění, ale tato oprávnění mohou být během upgradu SQL Serveru přepsána.

Ostatní uživatelé musí mít v databázi msdb přiděleny některé z následujících pevných databázových rolí SQL Server Agent:

  • SQLAgentUserRole
  • SQLAgentReaderRole
  • SQLAgentOperatorRole

Podrobnosti o oprávněních těchto rolí naleznete v SQL Server Agent Fixed Database Roles.

Examples

Následující příklad odesílá operátorovi e-mail François Ajenstat s oznámením pomocí AdventureWorks Administrator profilu Database Mail. Předmětem e-mailu je Test Notification. E-mailová zpráva obsahuje větu This is a test of notification via e-mail.

USE msdb;
GO

EXECUTE 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