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

Come risolvere "il nome del profilo non è valido" durante l'aggiornamento di un profilo di posta del database in SQL Server (T-SQL)

Se viene visualizzato l'errore "nome profilo non valido" durante l'aggiornamento di un profilo di Posta elettronica database in SQL Server, è possibile che tu abbia dimenticato di fornire l'ID profilo.

Quando aggiorni un profilo di Posta elettronica database con sysmail_update_profile_sp stored procedure, è necessario includere l'ID del profilo se si desidera aggiornare il nome del profilo.

Esempio

Immagina di eseguire il codice seguente per restituire tutti i profili di Posta elettronica database:

EXEC msdb.dbo.sysmail_help_profile_sp;

Risultato:

+--------------+------------------+---------------------------+
| profile_id   | name             | description               |
|--------------+------------------+---------------------------|
| 1            | DB Admin Profile | Profile for admin emails. |
+--------------+------------------+---------------------------+

E così decidiamo di aggiornare il nome di questo profilo da “Profilo Admin DB” a “Nuovo Profilo Admin DB”.

Ecco un esempio di come non per farlo (cioè come produrre l'errore).

EXECUTE msdb.dbo.sysmail_update_profile_sp
    @profile_name = 'New DB Admin Profile',
    @description = 'Profile for admin emails.';

In questo caso fornisco il nuovo nome e la descrizione esistente. Ma questo non lo taglierà.

L'esecuzione produrrà il seguente errore:

Msg 14607, Level 16, State 1, Procedure msdb.dbo.sysmail_verify_profile_sp, Line 42
profile name is not valid

Per farlo correttamente, devi fornire l'ID del profilo:

EXECUTE msdb.dbo.sysmail_update_profile_sp
    @profile_id = 1,
    @profile_name = 'New DB Admin Profile',
    @description = 'Profile for admin emails.';

Risultato:

Commands completed successfully.

Ora, quando controllo il mio elenco di profili, vedo il nome del profilo aggiornato.

EXEC msdb.dbo.sysmail_help_profile_sp;

Risultato:

+--------------+----------------------+---------------------------+
| profile_id   | name                 | description               |
|--------------+----------------------+---------------------------|
| 1            | New DB Admin Profile | Profile for admin emails. |
+--------------+----------------------+---------------------------+

Tieni presente che non è necessario fornire l'ID del profilo se stai solo aggiornando la descrizione (a condizione che tu fornisca il nome del profilo corretto).