Каков наилучший способ отправить вставленные данные из SQL Server в приложение? - PullRequest
6 голосов
/ 09 июня 2011

Я хотел бы использовать какой-то механизм в SQL Server (или один из его сервисов) для отправки сообщений об изменениях (например, через UDP, но с TCP тоже все в порядке), когда строки вставляются в таблицу.Я хотел бы, чтобы эти сообщения были не просто уведомлениями об изменениях, а содержали измененные данные.Существует ли механизм, который поставляется с SQL Server 2008 R2 для этого?Я слышал о Service Broker и Extended Events, но не уверен, что это именно те инструменты, которые подходят для работы, когда дело доходит до того, чтобы данные почти в реальном времени выталкивались из SQL Server в другое приложение, которому необходимо обновлять свое внутреннее состояние при получении данных.в изменениях SQL Server без необходимости запрашивать SQL Server (т. е. я хочу, чтобы данные строго выталкивались из SQL Server).

В худшем случае я могу написать код SQLCLR, который одноадресно передает сообщения UDP, содержащие изменения, но я хотел бы повторно использовать существующую службу, если она доступна.

Ответы [ 2 ]

4 голосов
/ 13 декабря 2011

Поскольку вы используете SQL 2008, отслеживание изменений встроено.

MSDN предоставляет обширную информацию о включении и реализации этой функции. Эта обзорная статья предоставляет обзор высокого уровня, а эта статья - отличное место для начала реализации.

1 голос
/ 21 июня 2011

К сожалению, поскольку службы SQL Server Notification Services были удалены с 2008 года и более поздних версий, действительно не существует хорошего встроенного способа сделать это. Официальная сторона Microsoft заключается в том, что службы отчетов могут восполнить этот пробел, но практический опыт доказывает обратное.

Вы застряли либо со сторонним решением, либо с вашим собственным. Удачи!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...