Aracılığıyla paylaş


sp_notify_operator (Transact-SQL)

Şunlar için geçerlidir: SQL Server

Veritabanı Posta kullanarak bir operatöre e-posta mesajı gönderir.

Transact-SQL söz dizimi kuralları

Sözdizimi

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'

Mesajı göndermek için kullanılacak Veritabanı Posta profilinin adı. @profile_namesysname'dir ve varsayılan olarak .NULL Eğer @profile_name belirtilmemişse, varsayılan Veritabanı Posta profili kullanılır.

[ @id = ] id

Operatörün mesajı göndereceği tanımlayıcı. @idint, varsayılan olarak .NULL

Bunlardan biri belirtilmelidir@id@name belirtilmelidir.

[ @name = ] ‘name

Mesajın gönderileceği operatörün adı. @namesysname'dir, varsayılan olarak .NULL

Bunlardan biri belirtilmelidir@id@name belirtilmelidir.

Operatör mesajları alabilmeden önce bir e-posta adresi tanımlanmalıdır.

[ @subject = ] N'subject'

E-posta mesajının konusu. @subjectnvarchar(256)'dır ve varsayılan olarak .NULL

[ @body = ] N'body'

E-posta iletisinin gövdesi. @bodynvarchar(max), varsayılan NULLolarak .

[ @file_attachments = ] N'file_attachments'

E-posta mesajına eklenecek dosyanın adı. @file_attachmentsnvarchar(512)'dir ve varsayılan olarak .NULL

[ @mail_database = ] N'mail_database'

Posta barındırma veritabanının adını belirtir. @mail_databasesysname'dir ve varsayılan olarak .msdb Eğer @mail_database belirtilmemişse, varsayılan olarak veritabanı msdb kullanılır.

Dönüş kodu değerleri

0 (başarı) veya 1 (başarısızlık).

Açıklamalar

Belirtilen mesajı, belirtilen operatörün e-posta adresine gönderir. Operatör e-posta adresi yapılandırmamışsa, sp_notify_operator hata döndürür.

Bildirim operatöre gönderilebilmek için veritabanı Mail ve posta barındırma veritabanı yapılandırılmalıdır.

Permissions

EXECUTE Bu prosedür üzerinde izinler verebilirsiniz, ancak bu izinler SQL Server yükseltmesi sırasında geçersiz kalabilir.

Diğer kullanıcılara, veritabanındaki aşağıdaki sabit veritabanı rollerinden birine msdb sahip olmalıdır:

  • SQLAgentUserRole
  • SQLAgentReaderRole
  • SQLAgentOperatorRole

Bu rollerin izinleri hakkında detaylar için SQL Server Agent Fixed Database Roles bölümüne bakınız.

Örnekler

Aşağıdaki örnek, Veritabanı Posta profili kullanılarak AdventureWorks Administrator operatöre François Ajenstat bir bildirim e-postası gönderir. E-postanın konusu .Test Notification E-posta mesajında şu cümle bulunur: 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