sp_send_dbmail успешно, но иногда терпит неудачу

#sql #sql-server #sp-send-dbmail #azure-sql-managed-instance

Вопрос:

Первый раз публикую. Любая обратная связь была бы очень признательна.

Мне нужно задание SQL для отправки нескольких электронных писем, и я столкнулся с этой ошибкой, для которой я не могу найти никаких решений. Когда я отправляю электронные письма таким образом, это удается каждый раз, когда я тестирую.

 EXEC msdb.dbo.sp_send_dbmail
@profile_name = 'AzureManagedInstance_dbmail_profile',
@recipients = '*Valid Email Address*',
@body = 'test',
@subject = 'Testing';
 

Когда я иногда добавляю запрос в электронное письмо, задание завершается неудачей.

Я вытащил фрагмент кода и упростил запрос SELECT, который повторяет проблему.

 EXEC msdb.dbo.sp_send_dbmail
@profile_name = 'AzureManagedInstance_dbmail_profile',
@recipients = '*Valid Email Address*',
@body = 'test',
@query = 
'
SELECT GETDATE()
',
@subject = 'Testing';
 

Когда я запускаю это, он успешно отправляет мне электронное письмо с указанием даты и времени, если я снова запускаю код, я получаю общую ошибку, но не всегда.

Не удалось инициализировать библиотеку sqlcmd с номером ошибки -2147467259.

Я немного покопался в профилировщике SQL Server и наткнулся на это сообщение об ошибке

Соединение было удалено, поскольку участник, который его открыл, впоследствии принял новый контекст безопасности, а затем попытался сбросить соединение в соответствии с его олицетворенным контекстом безопасности. Этот сценарий не поддерживается. См. «Обзор олицетворения» в Онлайн-книгах.

В настоящее время я использую учетную запись SA, но начал с минимальных реальных привилегий.

Я попытался выполнить задание под общим профилем электронной почты, с теми же результатами.

Задание, в котором выполняется этот код, будет выполнено успешно и завершится неудачей без видимой причины, которую я могу найти. Похоже, что в работе, выполняемой успешно или нет, также нет закономерности.

Кто-нибудь сталкивался с этой проблемой и сумел ее решить? Или кто-нибудь может указать мне направление для решения этой проблемы?