Ако вече сте добавили акаунт в Database Mail към профил, но сега искате да промените поредния номер, можете да направите това с sysmail_update_profileaccount_sp
съхранена процедура.
Когато правите това, трябва да предоставите името или ID както на акаунта, така и на профила. Това е така, защото трябва да посочите точно кой профил/асоциация на акаунт искате да актуализирате.
Пример
Ето пример за демонстрация:
EXECUTE msdb.dbo.sysmail_update_profileaccount_sp
@profile_name = 'DB Admin Profile',
@account_name = 'DB Admin',
@sequence_number = 2;
Този пример променя поредния номер за акаунта, наречен „DB Admin“ в профила, наречен „DB Admin Profile“.
В този случай промених поредния номер на 2, което означава, че акаунтът „DB Admin“ ще се използва само ако първият акаунт се провали.
Използване на идентификационните номера на профил/акаунт
В този пример използвам идентификаторите на профили и акаунти вместо техните имена:
EXECUTE msdb.dbo.sysmail_update_profileaccount_sp
@profile_id = 1,
@account_id = 1,
@sequence_number = 3;
Използване на комбинация от ID и име
Като алтернатива можете да предоставите идентификатора на единия и името на другия.
Например:
EXECUTE msdb.dbo.sysmail_update_profileaccount_sp
@profile_name = 'DB Admin Profile',
@account_id = 1,
@sequence_number = 4;
Или обратното:
EXECUTE msdb.dbo.sysmail_update_profileaccount_sp
@profile_id = 1,
@account_name = 'DB Admin',
@sequence_number = 1;
Как работи поредният номер?
Можете да добавите няколко акаунта към профил на Database Mail. Поредният номер определя реда, в който тези акаунти се използват в профила при изпращане на поща. Database Mail започва с акаунта, който има най-нисък пореден номер. Ако този акаунт не успее, се използва акаунтът със следващия най-висок пореден номер и т.н.
Ако съществуват повече от един акаунт със същия пореден номер, Database Mail ще използва само един от тези акаунти за дадено имейл съобщение.
Въпреки това, няма гаранция, че същият акаунт ще бъде използван за следващи съобщения. Например, ако два акаунта споделят пореден номер 1, може да получите някои имейли от единия акаунт и други от другия акаунт.
Трябва да отбележа, че според тази статия на Microsoft, когато изпратите ново имейл съобщение, Database Mail всъщност започва с последния акаунт, който е изпратил съобщението успешно , или акаунта с най-нисък пореден номер, ако все още не е изпратено съобщение.
Фактът, че започва с последния акаунт, който е изпратил съобщение успешно, не се споменава в официалната документация за sysmail_add_profileaccount_sp
или sysmail_update_profileaccount_sp
.
Така или иначе, това е нещо, за което трябва да имате предвид и може да ви спести от късане на косата, ако изглежда, че вашата DB Mail игнорира поредните ви номера.
Местоположение на съхранената процедура
Имайте предвид, че sysmail_update_profileaccount_sp
съхранената процедура е в msdb
база данни и е собственост на dbo
схема. Следователно, ще трябва да използвате три части наименуване, ако го изпълнявате извън msdb
база данни.
Как да върна информация за акаунта и потребителския профил
Следните статии предоставят инструкции за връщане на информация за акаунт и профил.
- Вземете списък с пощенски акаунти в базата данни в SQL Server
- Връщане на списък с пощенски профили на база данни в SQL Server