sql >> Base de Datos >  >> RDS >> Sqlserver

Cómo corregir "el nombre del perfil no es válido" al actualizar un perfil de correo de base de datos en SQL Server (T-SQL)

Si recibe un error de "nombre de perfil no es válido" al actualizar un perfil de Correo electrónico de base de datos en SQL Server, es posible que haya olvidado proporcionar la ID de perfil.

Cuando actualiza un perfil de Correo electrónico de base de datos con sysmail_update_profile_sp procedimiento almacenado, debe incluir la identificación del perfil si desea actualizar el nombre del perfil.

Ejemplo

Imagine que ejecutamos el siguiente código para devolver todos los perfiles de Correo electrónico de base de datos:

EXEC msdb.dbo.sysmail_help_profile_sp;

Resultado:

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

Y por eso decidimos actualizar el nombre de este perfil de "Perfil de administrador de base de datos" a "Nuevo perfil de administrador de base de datos".

He aquí un ejemplo de cómo no hacerlo (es decir, cómo producir el error).

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

En este caso, proporciono el nuevo nombre y la descripción existente. Pero eso no va a cortarlo.

Ejecutar eso producirá el siguiente error:

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

Para hacerlo correctamente, debe proporcionar la identificación del perfil:

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

Resultado:

Commands completed successfully.

Ahora, cuando reviso mi lista de perfiles, veo el nombre del perfil actualizado.

EXEC msdb.dbo.sysmail_help_profile_sp;

Resultado:

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

Tenga en cuenta que no necesita proporcionar el ID de perfil si solo está actualizando la descripción (siempre y cuando proporcione el nombre de perfil correcto).