Megosztás a következőn keresztül:


sp_notify_operator (Transact-SQL)

A következőkre vonatkozik:SQL Server

E-mailt küld egy operátornak az adatbázis levelezéssel.

Transact-SQL szintaxis konvenciók

Szemantika

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'

Az Adatbázis Mail profil neve, amivel az üzenetet küldjük. @profile_name a sysname, alapértelmezett értéke NULL. Ha @profile_name nincs megadva, akkor az alapértelmezett Database Mail profilt használják.

[ @id = ] id

Az azonosító, amelyhez az operátor küldi az üzenetet. @idint, alapértelmezés NULL.

Az egyik @id vagy @name meg kell határozni.

[ @name = ] N'name'

Az üzenet továbbításának operátorának neve. @name a sysname, alapértelmezett értéke NULL.

Az egyik @id vagy @name meg kell határozni.

Az operátor számára e-mail címet kell meghatározni, mielőtt üzeneteket fogadhatna.

[ @subject = ] N'subject'

Az e-mail témája. @subjectnvarchar(256), alapértelmezett értéke NULL.

[ @body = ] N'body'

Az e-mail törzse. @bodynvarchar(max), alapértelmezett értéke NULL.

[ @file_attachments = ] N'file_attachments'

Egy fájl neve, amelyet az e-mailhez kell csatolni. @file_attachmentsnvarchar(512), alapértelmezett értéke NULL.

[ @mail_database = ] N'mail_database'

Megadja a mail host adatbázis nevét. @mail_databasea sysname, alapértelmezés msdbszerint . Ha nincs megadva @mail_database , akkor alapértelmezés szerint az msdb adatbázist használják.

Kódértékek visszaadása

0 (sikeres) vagy 1 (hiba).

Megjegyzések

A megadott üzenetet a megadott operátor e-mail címére küldi. Ha az operátornak nincs beállított e-mail címe, sp_notify_operator hibát ad vissza.

Az adatbázis Mailnek és a mail host adatbázisnak konfigurálni kell a szolgáltatónak értesítést küldéséhez.

Permissions

Ezen az eljáráshoz engedélyeket adhatsz EXECUTE , de ezek az engedélyek felülbírálhatók egy SQL Server frissítés során.

Más felhasználóknak az alábbi SQL Server Agent rögzített adatbázis-szerepek egyikét kell megadniuk az msdb adatbázisban:

  • SQLAgentUserRole
  • SQLAgentReaderRole
  • SQLAgentOperatorRole

Ezeknek a szerepköröknek a jogosultságairól az SQL Server Agent Fixed Database Roles oldalon találja a részleteket.

Példák

A következő példa értesítési e-mailt küld az operátornak François Ajenstat az AdventureWorks Administrator Adatbázis Mail profil segítségével. Az e-mail témája .Test Notification Az e-mail üzenet tartalmazza a mondatot, . 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