#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, но начал с минимальных реальных привилегий.
Я попытался выполнить задание под общим профилем электронной почты, с теми же результатами.
Задание, в котором выполняется этот код, будет выполнено успешно и завершится неудачей без видимой причины, которую я могу найти. Похоже, что в работе, выполняемой успешно или нет, также нет закономерности.
Кто-нибудь сталкивался с этой проблемой и сумел ее решить? Или кто-нибудь может указать мне направление для решения этой проблемы?