Pokud se vám při aktualizaci profilu Database Mail na SQL Serveru zobrazuje chyba „název profilu není platný“, je možné, že jste zapomněli zadat ID profilu.
Když aktualizujete profil Database Mail pomocí sysmail_update_profile_sp
uložená procedura, musíte zahrnout ID profilu, pokud chcete aktualizovat název profilu.
Příklad
Představte si, že spustíme následující kód, abychom vrátili všechny profily Database Mail:
EXEC msdb.dbo.sysmail_help_profile_sp;
Výsledek:
+--------------+------------------+---------------------------+ | profile_id | name | description | |--------------+------------------+---------------------------| | 1 | DB Admin Profile | Profile for admin emails. | +--------------+------------------+---------------------------+
A tak jsme se rozhodli aktualizovat název tohoto profilu z „DB Admin Profile“ na „New DB Admin Profile“.
Zde je příklad toho, jak ne jak to udělat (tj. jak vytvořit chybu).
EXECUTE msdb.dbo.sysmail_update_profile_sp
@profile_name = 'New DB Admin Profile',
@description = 'Profile for admin emails.';
V tomto případě uvádím nový název a stávající popis. Ale tím se to nezlomí.
Spuštění způsobí následující chybu:
Msg 14607, Level 16, State 1, Procedure msdb.dbo.sysmail_verify_profile_sp, Line 42 profile name is not valid
Chcete-li to provést správně, musíte zadat ID profilu:
EXECUTE msdb.dbo.sysmail_update_profile_sp
@profile_id = 1,
@profile_name = 'New DB Admin Profile',
@description = 'Profile for admin emails.';
Výsledek:
Commands completed successfully.
Nyní, když zkontroluji svůj seznam profilů, vidím aktualizovaný název profilu.
EXEC msdb.dbo.sysmail_help_profile_sp;
Výsledek:
+--------------+----------------------+---------------------------+ | profile_id | name | description | |--------------+----------------------+---------------------------| | 1 | New DB Admin Profile | Profile for admin emails. | +--------------+----------------------+---------------------------+
Upozorňujeme, že ID profilu nemusíte uvádět, pokud pouze aktualizujete popis (pokud zadáte správný název profilu).