Назад | Перейти на главную страницу

SQL 2008 - проблема с почтой БД

У меня есть два экземпляра SQL Server 2008. Один был обновлен с SQL Server 2000, а другой был чистой новой установкой. Экземпляры работают на разных узлах одного и того же кластера, хотя я пробовал разместить их на одном узле с одинаковыми результатами.

SQL Mail отлично работает в обоих случаях.

DB Mail отлично работает с только что установленным экземпляром.

На обновленном экземпляре DB Mail не отправляет почту. Конечно, я не уверен, что тот факт, что этот экземпляр обновлен, имеет какое-либо отношение к проблеме, но может.

Конфигурация моего почтового профиля и учетной записи в базе данных идентична моему действующему экземпляру. В конфигурации вкладки «предупреждения» в свойствах агента SQL я попытался выбрать как DB Mail, так и SQL Mail, но безрезультатно. Оба экземпляра используют один и тот же SMTP-сервер с одинаковой аутентификацией (домен с учетной записью механизма db).

Все сообщения, отправленные через почту sp_send_db, и сообщения, отправленные с помощью опции «test email», отображаются в очереди sysmail_allitems и остаются там как «неотправленные». Статус send_status в конечном итоге меняется на «сбой».

Единственными сообщениями в sysmail_event_log являются «почтовая очередь остановлена ​​доменом входа \ myuser», «очередь почты запущена доменом входа / myuser» и «активация успешна.».

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

Есть предположения? Спасибо.

У меня нет конкретного ответа, но я могу дать некоторую информацию о некоторых вещах, которые я использовал для отладки DB Mail. Антивирусное программное обеспечение и фильтры спама часто могут быть проблемой. Убедитесь, что на сервере нет антивирусного программного обеспечения, блокирующего отправку электронной почты DB Mail, и убедитесь, что сообщения не блокируются фильтром спама.

Я бы также рекомендовал использовать telnet или что-то вроде SMTPDiag чтобы убедиться, что это не проблема с SMTP-соединением.

Это также может помочь изменить ведение журнала почты базы данных на подробное. Для этого войдите в SQL Server Management Studio, щелкните правой кнопкой мыши Database Mail и выберите «Configure Database Mail». В мастере «Настроить почту базы данных» выберите «Просмотреть или изменить параметры системы». Будет возможность установить уровень ведения журнала, установить его на подробный. Это даст вам более подробную информацию в журнале почты базы данных. После того, как вы исправите проблему, вы захотите вернуть ее на более низкий уровень ведения журнала.

Если вы считаете, что проблема с базой данных msdb связана, я бы рекомендовал запустить трассировку SQL Server Profiler для базы данных msdb. Обязательно укажите событие «Ошибка аудита входа в систему». Пока выполняется трассировка, попробуйте отправить тестовое электронное письмо с почтой базы данных.

Я считаю, что SMTP-сервер просто контролирует учетные данные, а не IP. Оба экземпляра используют одинаковые учетные данные.

В журнале ошибок SQL ничего не отображается. Вот сообщение в Win Event Viewer: произошла ошибка подключения. Причина: при установке соединения с SQL Server произошла ошибка, связанная с сетью или конкретным экземпляром. Сервер не найден или не был доступен. Убедитесь, что имя экземпляра правильное и что SQL Server настроен на разрешение удаленных подключений. (поставщик: Сетевые интерфейсы SQL, ошибка: 26 - Ошибка при обнаружении указанного сервера / экземпляра), параметры соединения: Имя сервера: vnn \ instance, Имя базы данных: msdb Произошла ошибка, связанная с сетью или конкретным экземпляром, при установлении соединения с SQL Server . Сервер не найден или не был доступен. Убедитесь, что имя экземпляра правильное и что SQL Server настроен на разрешение удаленных подключений. (поставщик: Сетевые интерфейсы SQL, ошибка: 26 - Ошибка при обнаружении указанного сервера / экземпляра)

Я не понимаю, как db mail не может подключиться к экземпляру, на котором он запущен.

Ваш SMTP-сервер контролирует доступ к самому себе на основе IP-адресов? Можете ли вы отправить тестовое сообщение из базы данных и опубликовать результаты или ошибку из журнала ошибок?