Condividi tramite


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_spper 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;