Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Aggiungere un account di posta del database a un profilo (T-SQL)

In SQL Server, Posta elettronica database utilizza i profili per inviare l'e-mail anziché gli account direttamente.

Pertanto è necessario prima creare un profilo e creare un account, quindi aggiungere l'account al profilo. Devi anche concedere un utente in msdb accesso al database del profilo.

Per aggiungere un account di posta del database a un profilo con T-SQL, utilizzare il sysmail_add_profileaccount_sp stored procedure in msdb Banca dati.

Esempio

Ecco un esempio di aggiunta di un account Posta elettronica database a un profilo Posta elettronica database utilizzando T-SQL.

EXECUTE msdb.dbo.sysmail_add_profileaccount_sp  
    @profile_name = 'DB Admin Profile',  
    @account_name = 'DB Admin',  
    @sequence_number = 1;

In questo caso aggiungo l'account “DB Admin” al profilo “DB Admin Profile”.

Ciò presuppone che il profilo e l'account esistano già.

È possibile aggiungere più account a un profilo di posta elettronica database. Il numero di sequenza determina l'ordine in cui gli account vengono utilizzati nel profilo. Posta elettronica database inizia con l'account con il numero di sequenza più basso. Se l'account non riesce, viene utilizzato l'account con il numero di sequenza successivo più alto e così via.

Se esistono più account con lo stesso numero di sequenza, Posta elettronica database utilizzerà solo uno di quegli account per un determinato messaggio di posta elettronica.

Tuttavia, non vi è alcuna garanzia che lo stesso account verrà utilizzato per i messaggi successivi. Ad esempio, se due account condividono un numero di sequenza pari a 1, potresti ricevere alcune email da un account e altre dall'altro.

Specifica gli ID account/profilo

In alternativa puoi specificare l'ID profilo e/o l'ID account invece dei loro nomi.

Pertanto, potremmo modificare l'esempio precedente in modo che assomigli a questo:

EXECUTE msdb.dbo.sysmail_add_profileaccount_sp  
    @profile_id = 1,  
    @account_id = 1,  
    @sequence_number = 1;

Questo ovviamente presuppone che quelli siano gli ID per gli account in questione.

Tieni presente che è necessario fornire il nome o l'ID.

Inoltre, quando si forniscono gli ID, vengono forniti come int .

Nota che il sysmail_add_profileaccount_sp la procedura memorizzata si trova in msdb database ed è di proprietà di dbo schema. Pertanto, dovrai utilizzare la denominazione in tre parti se la esegui dall'esterno di msdb banca dati.