Ако получавате грешка „Името на профила не е валидно“ при актуализиране на профил на Database Mail в SQL Server, възможно е да сте забравили да предоставите идентификатора на профила.
Когато актуализирате профил на Database Mail с sysmail_update_profile_sp
съхранена процедура, трябва да включите идентификатора на профила, ако искате да актуализирате името на профила.
Пример
Представете си, че стартираме следния код, за да върнем всички профили на Database Mail:
EXEC msdb.dbo.sysmail_help_profile_sp;
Резултат:
+--------------+------------------+---------------------------+ | profile_id | name | description | |--------------+------------------+---------------------------| | 1 | DB Admin Profile | Profile for admin emails. | +--------------+------------------+---------------------------+
И затова решаваме да актуализираме името на този профил от „DB Admin Profile” на „Нов DB Admin Profile”.
Ето пример как не да го направите (т.е. как да създадете грешката).
EXECUTE msdb.dbo.sysmail_update_profile_sp
@profile_name = 'New DB Admin Profile',
@description = 'Profile for admin emails.';
В този случай предоставям новото име и съществуващото описание. Но това няма да го намали.
Изпълнението ще доведе до следната грешка:
Msg 14607, Level 16, State 1, Procedure msdb.dbo.sysmail_verify_profile_sp, Line 42 profile name is not valid
За да го направите правилно, трябва да предоставите ID на потребителския профил:
EXECUTE msdb.dbo.sysmail_update_profile_sp
@profile_id = 1,
@profile_name = 'New DB Admin Profile',
@description = 'Profile for admin emails.';
Резултат:
Commands completed successfully.
Сега, когато проверявам списъка си с профили, виждам актуализираното име на профил.
EXEC msdb.dbo.sysmail_help_profile_sp;
Резултат:
+--------------+----------------------+---------------------------+ | profile_id | name | description | |--------------+----------------------+---------------------------| | 1 | New DB Admin Profile | Profile for admin emails. | +--------------+----------------------+---------------------------+
Имайте предвид, че не е необходимо да предоставяте идентификатора на потребителския профил, ако актуализирате само описанието (стига да предоставите правилното име на потребителския профил).