Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Как да коригирате „името на профила не е валидно“ при актуализиране на пощенски профил на база данни в SQL Server (T-SQL)

Ако получавате грешка „Името на профила не е валидно“ при актуализиране на профил на 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. |
+--------------+----------------------+---------------------------+

Имайте предвид, че не е необходимо да предоставяте идентификатора на потребителския профил, ако актуализирате само описанието (стига да предоставите правилното име на потребителския профил).


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Водещи функции, които да търсите в инструмента за наблюдение на SQL Server

  2. Пуснете външния ключ, без да знаете името на ограничението?

  3. Версиониране на база данни на SQL Server

  4. Лоша производителност на плана за изпълнение на съхранената процедура на SQL - подслушване на параметри

  5. Как работи функцията STRING_ESCAPE() в SQL Server (T-SQL)