sp_notify_operator (Transact-SQL)
Si applica a: SQL Server
Invia un messaggio di posta elettronica a un operatore tramite Posta elettronica database.
Convenzioni relative alla sintassi Transact-SQL
Sintassi
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' ]
[ ; ]
Argomenti
[ @profile_name = ] N'profile_name'
Nome del profilo di Posta elettronica database da utilizzare per inviare il messaggio. @profile_name è sysname, con il valore predefinito NULL
. Se @profile_name non viene specificato, viene usato il profilo di Posta elettronica database predefinito.
[ @id = ] id
Identificatore dell'operatore a cui inviare il messaggio. @id è int, con un valore predefinito .NULL
È necessario specificare uno dei @id o @name .
[ @name = ] N'name'
Nome dell'operatore a cui inviare il messaggio. @name è sysname, con un valore predefinito .NULL
È necessario specificare uno dei @id o @name .
Per poter ricevere messaggi, è necessario definire un indirizzo di posta elettronica per l'operatore.
[ @subject = ] N'subject'
Oggetto del messaggio di posta elettronica. @subject è nvarchar(256), con il valore predefinito NULL
.
[ @body = ] N'body'
Corpo del messaggio di posta elettronica. @body è nvarchar(max), con il valore predefinito NULL
.
[ @file_attachments = ] N'file_attachments'
Nome del file da allegare al messaggio di posta elettronica. @file_attachments è nvarchar(512), con un valore predefinito .NULL
[ @mail_database = ] N'mail_database'
Specifica il nome del computer host. @mail_database è sysname, con il valore predefinito msdb
. Se non viene specificata alcuna @mail_database , il msdb
database viene utilizzato per impostazione predefinita.
Valori del codice restituito
0
(esito positivo) o 1
(errore).
Osservazioni:
Invia il messaggio specificato all'indirizzo di posta elettronica dell'operatore. Se l'operatore non dispone di un indirizzo di posta elettronica configurato, sp_notify_operator
restituisce un errore.
Per poter inviare una notifica a un operatore, è necessario innanzitutto configurare Posta elettronica database e un database host della posta elettronica.
Autorizzazioni
È possibile concedere EXECUTE
autorizzazioni per questa procedura, ma queste autorizzazioni potrebbero essere sottoposte a override durante un aggiornamento di SQL Server.
È necessario concedere ad altri utenti uno dei ruoli predefiniti del database di SQL Server Agent seguenti:msdb
- SQLAgentUserRole
- SQLAgentReaderRole
- SQLAgentOperatorRole
Per informazioni dettagliate sulle autorizzazioni di questi ruoli, vedere Ruoli di database predefiniti di SQL Server Agent.
Esempi
Nell'esempio seguente viene inviato un messaggio di notifica all'operatore François Ajenstat
tramite il profilo AdventureWorks Administrator
di Posta elettronica database. L'oggetto del messaggio di posta elettronica è Test Notification
. Il messaggio di posta elettronica contiene la frase . 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