Aracılığıyla paylaş


sp_notify_operator (Transact-SQL)

Database Mail'i kullanarak bir işleç için bir e-posta iletisi gönderir.

Konu bağlantısı simgesiTransact-SQL sözdizimi kuralları

Sözdizimi

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

Bağımsız değişkenler

  • [ @profile_name= ] 'profilename'
    İleti göndermek için veritabanı posta profil adı.profilenameis nvarchar(128).profilename Belirtilmezse, varsayılan veritabanı posta profili kullanılır.

  • [ @id= ] id
    İleti göndermek işleç için tanımlayıcı.idİş int, varsayılan değer null.Birini id veya name belirtilmelidir.

  • [ @name= ] 'name'
    İleti göndermek için işleç adıdır.nameİş nvarchar(128), varsayılan değer null.Birini id veya name belirtilmelidir.

    Not

    İletileri almak için önce bir e-posta adresi işleç için tanımlanmalıdır.

  • [ @subject= ] 'subject'
    E-posta iletisinin konusu.subjectİş nvarchar(256)ile hiçbir varsayılan.

  • [ @body= ] 'message'
    E-posta iletisinin gövdesi.messageİş nvarchar(max)ile hiçbir varsayılan.

  • [ @ file_attachments= ] 'attachment'
    E-posta iletisine eklenecek bir dosya adıdır.attachmentİş nvarchar(512), ile hiçbir varsayılan.

  • [ @ mail_database= ] 'mail_host_database'
    Posta ana bilgisayar veritabanı adını belirtir.mail_host_databaseis nvarchar(128).Yok, mail_host_database belirtilirse, msdb veritabanı varsayılan olarak kullanılır.

Dönüş Kodu Değerleri

0 (başarılı) veya 1 (başarısız)

Açıklamalar

Belirtilen işleç e-posta adresi belirtilen iletiyi gönderir.Yapılandırılmış hiçbir e-posta adresi işleç varsa, bir hata döndürür.

Veritabanı posta ve posta ana bilgisayar veritabanı için bir işleç bildirim gönderilmeden önce yapılandırılmalıdır.Daha fazla bilgi için, bkz. Veritabanı Mail nasıl yapılır konuları.

İzinler

Varsayılan olarak, üye sysadmin sabit sunucu rolü olabilir yürütmek bu saklı yordam.Diğer kullanıcıların aşağıdakilerden birini verilmelidir SQL Server Agent veritabanı rolleri sabit msdb veritabanı:

  • SQLAgentUserRole

  • SQLAgentReaderRole

  • SQLAgentOperatorRole

Bu roller, izinler hakkında daha fazla bilgi için bkz: SQL Server Agent veritabanı rolleri sabit.

Örnekler

Aşağıdaki örnek için işleç bildirim e-postası gönderirFrançois Ajenstat kullanarak AdventureWorks2008R2 Administrator veritabanı posta profili. E-postanın konu Test Notification.E-posta iletisi aşağıdaki cümle yer almaktadır, "Bu bir e-posta yoluyla bildirim sınamadır."

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