sysmail_add_profileaccount_sp (Transact-SQL)
Si applica a: SQL Server
Aggiunge un account di Posta elettronica database a un profilo di Posta elettronica database. Eseguire sysmail_add_profileaccount_sp
dopo la creazione di un account di database con sysmail_add_account_sp e viene creato un profilo di database con sysmail_add_profile_sp.
Convenzioni relative alla sintassi Transact-SQL
Sintassi
sysmail_add_profileaccount_sp { [ @profile_id = ] profile_id | [ @profile_name = ] 'profile_name' } ,
{ [ @account_id = ] account_id | [ @account_name = ] 'account_name' }
[ , [ @sequence_number = ] sequence_number ]
[ ; ]
Argomenti
[ @profile_id = ] profile_id
ID del profilo a cui aggiungere l'account. @profile_id è int, con il valore predefinito NULL
. È necessario specificare il @profile_id o il @profile_name .
[ @profile_name = ] 'profile_name'
Nome del profilo a cui aggiungere l'account. @profile_name è sysname, con il valore predefinito NULL
. È necessario specificare il @profile_id o il @profile_name .
[ @account_id = ] account_id
ID account da aggiungere al profilo. @account_id è int, con il valore predefinito NULL
. È necessario specificare il @account_id o il @account_name .
[ @account_name = ] 'account_name'
Nome dell'account da aggiungere al profilo. @account_name è sysname, con un valore predefinito .NULL
È necessario specificare il @account_id o il @account_name .
[ @sequence_number = ] sequence_number
Numero di sequenza dell'account all'interno del profilo. @sequence_number è int, senza impostazione predefinita. Il numero di sequenza determina l'ordine in cui gli account sono utilizzati nel profilo.
Valori del codice restituito
0
(esito positivo) o 1
(errore).
Osservazioni:
Sia il profilo che l'account devono esistere. In caso contrario, la stored procedure restituisce un errore.
Questa stored procedure non modifica il numero di sequenza di un account già associato al profilo specificato. Per altre informazioni sull'aggiornamento del numero di sequenza di un account, vedere sysmail_update_profileaccount_sp.
Il numero di sequenza determina l'ordine in cui Posta elettronica database utilizza gli account nel profilo. Per un nuovo messaggio di posta elettronica, Posta elettronica database inizia con l'account che ha il numero di sequenza più basso. Se l'account ha esito negativo, Posta elettronica database usa l'account con il numero di sequenza più alto successivo e così via, fino a quando Posta elettronica database invia correttamente il messaggio oppure l'account con il numero di sequenza più alto non riesce. Se l'account con il numero di sequenza più alto ha esito negativo, il Posta elettronica database sospende i tentativi di inviare il messaggio di posta elettronica per il periodo di tempo configurato nel AccountRetryDelay
parametro di sysmail_configure_sp
, quindi avvia il processo di tentativo di inviare nuovamente il messaggio di posta elettronica, a partire dal numero di sequenza più basso. Utilizzare il AccountRetryAttempts
parametro di sysmail_configure_sp
per configurare il numero di tentativi del processo di posta elettronica esterno di inviare il messaggio di posta elettronica utilizzando ogni account nel profilo specificato.
Se esistono più account con lo stesso numero di sequenza, Posta elettronica database utilizza solo uno di questi account per un messaggio di posta specifico. In questo caso, non viene garantito quale account viene utilizzato per quel numero di sequenza né che venga utilizzato lo stesso account per ogni messaggio.
La stored procedure sysmail_add_profileaccount_sp
si trova nel msdb
database ed è di proprietà dello schema dbo . La procedura deve essere eseguita con un nome in tre parti se il database corrente non msdb
è .
Autorizzazioni
Questa stored procedure è di proprietà del ruolo db_owner . È possibile concedere EXECUTE
autorizzazioni per qualsiasi utente, ma queste autorizzazioni possono essere sottoposte a override durante un aggiornamento di SQL Server.
Esempi
Nell'esempio seguente il profilo AdventureWorks Administrator
viene associato all'account Audit Account
. L'account di controllo ha un numero di sequenza di 1
.
EXEC msdb.dbo.sysmail_add_profileaccount_sp
@profile_name = 'AdventureWorks Administrator',
@account_name = 'Audit Account',
@sequence_number = 1;