Поделиться через


Устранение неполадок с уведомлениями о запросах: подписка зарегистрирована, сообщение о событии не создано, подписка удалена

Подписка успешно регистрируется, но запрос, который должен сформировать уведомление, не формирует уведомление, даже если подписка удаляется. SQL Server не может доставить сообщение о событии заданной службе. В этом случае инструкция, обновляющая данные, может возвратить ошибку, или компонент Service Broker может отправить ошибку QueryNotificationErrorsQueue. SQL Server получает эти сообщения об ошибках и записывает ошибки в журнал ошибок SQL Server.

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

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

Можно также проверить, сформировал ли SQL Server сообщение уведомления с помощью приложения SQL Server Profiler. В приложении SQL Server Profiler запустите трассировку, выводящую все события в категории Query Notifications. Если SQL Server формирует сообщение уведомления, он также формирует событие QN:Subscription с подклассом событий Event SubClass3 - Subscription Fired.

Дополнительные сведения об устранении неполадок маршрутизации компонента Service Broker и доставке сообщений см. в разделе Устранение неполадок маршрутизации и доставки сообщений.

См. также

Другие ресурсы

sys.services (Transact-SQL)
Устранение неполадок маршрутизации и доставки сообщений
Справочник по приложению SQL Server Profiler

Справка и поддержка

Получение помощи по SQL Server 2005