Bagikan melalui


sp_notify_operator (T-SQL)

Berlaku untuk: SQL Server

Mengirim pesan email ke operator menggunakan Email Database.

Konvensi sintaks transact-SQL

Sintaks

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

Argumen

[ @profile_name = ] N'profile_name'

Nama profil Email Database yang akan digunakan untuk mengirim pesan. @profile_name adalah sysname, dengan default NULL. Jika @profile_name tidak ditentukan, profil Email Database default akan digunakan.

[ @id = ] id

Pengidentifikasi untuk operator untuk mengirim pesan. @id int, dengan default NULL.

Salah satu @id atau @name harus ditentukan.

[ @name = ] N'name'

Nama operator yang akan dikirimi pesan. @name adalah sysname, dengan default NULL.

Salah satu @id atau @name harus ditentukan.

Alamat email harus ditentukan untuk operator sebelum mereka dapat menerima pesan.

[ @subject = ] N'subject'

Subjek untuk pesan email. @subject adalah nvarchar(256), dengan default NULL.

[ @body = ] N'body'

Isi pesan email. @body adalah nvarchar(max), dengan default NULL.

[ @file_attachments = ] N'file_attachments'

Nama file yang akan dilampirkan ke pesan email. @file_attachments adalah nvarchar(512), dengan default NULL.

[ @mail_database = ] N'mail_database'

Menentukan nama database host email. @mail_database adalah sysname, dengan default msdb. Jika tidak ada @mail_database yang ditentukan, msdb database digunakan secara default.

Mengembalikan nilai kode

0 (berhasil) atau 1 (kegagalan).

Keterangan

Mengirim pesan yang ditentukan ke alamat email operator yang ditentukan. Jika operator tidak memiliki alamat email yang dikonfigurasi, sp_notify_operator mengembalikan kesalahan.

Email Database dan database host email harus dikonfigurasi sebelum pemberitahuan dapat dikirim ke operator.

Izin

Prosedur tersimpan ini dimiliki oleh peran db_owner . Anda dapat memberikan EXECUTE izin untuk pengguna mana pun, tetapi izin ini dapat ditimpa selama peningkatan SQL Server.

Pengguna lain harus diberikan salah satu peran database tetap SQL Server Agent berikut dalam msdb database:

  • SQLAgentUserRole
  • SQLAgentReaderRole
  • SQLAgentOperatorRole

Untuk detail tentang izin peran ini, lihat Peran Database Tetap Agen SQL Server.

Contoh

Contoh berikut mengirimkan email pemberitahuan ke operator François Ajenstat menggunakan AdventureWorks Administrator profil Email Database. Subjek email adalah Test Notification. Pesan email berisi kalimat , This is a test of notification via e-mail.

USE msdb;
GO

EXEC 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