Om du får felet "profilnamn är inte giltigt" när du uppdaterar en Database Mail-profil i SQL Server, kan det vara så att du har glömt att ange profil-ID.
När du uppdaterar en Databas Mail-profil med sysmail_update_profile_sp
lagrad procedur måste du inkludera profil-ID om du vill uppdatera profilnamnet.
Exempel
Föreställ dig att vi kör följande kod för att returnera alla Databas Mail-profiler:
EXEC msdb.dbo.sysmail_help_profile_sp;
Resultat:
+--------------+------------------+---------------------------+ | profile_id | name | description | |--------------+------------------+---------------------------| | 1 | DB Admin Profile | Profile for admin emails. | +--------------+------------------+---------------------------+
Så vi beslutar oss för att uppdatera namnet på denna profil från "DB Admin Profile" till "New DB Admin Profile".
Här är ett exempel på hur inte att göra det (d.v.s. hur man skapar felet).
EXECUTE msdb.dbo.sysmail_update_profile_sp
@profile_name = 'New DB Admin Profile',
@description = 'Profile for admin emails.';
I det här fallet tillhandahåller jag det nya namnet och den befintliga beskrivningen. Men det kommer inte att minska det.
Körs som ger följande fel:
Msg 14607, Level 16, State 1, Procedure msdb.dbo.sysmail_verify_profile_sp, Line 42 profile name is not valid
För att göra det korrekt måste du ange profil-ID:
EXECUTE msdb.dbo.sysmail_update_profile_sp
@profile_id = 1,
@profile_name = 'New DB Admin Profile',
@description = 'Profile for admin emails.';
Resultat:
Commands completed successfully.
Nu när jag kollar min lista över profiler ser jag det uppdaterade profilnamnet.
EXEC msdb.dbo.sysmail_help_profile_sp;
Resultat:
+--------------+----------------------+---------------------------+ | profile_id | name | description | |--------------+----------------------+---------------------------| | 1 | New DB Admin Profile | Profile for admin emails. | +--------------+----------------------+---------------------------+
Observera att du inte behöver ange profil-ID om du bara uppdaterar beskrivningen (så länge du anger rätt profilnamn).