2016-10-03 9 views
0

Я разрабатываю скрипт, который будет POST для веб-службы RESTful на основе новых записей, создаваемых в таблице SQL Server.Как отслеживать таблицу SQL Server с внешним приложением

Каков рекомендуемый современный способ сделать это (SQL Server 2012)? Я посмотрел триггеры, но кажется, что они не рекомендуются при вызове внешних скриптов. В любом случае, большая часть информации очень старая.

Я хотел бы избежать опроса стола так, чтобы он мог быть как можно в реальном времени с наименьшим воздействием на производительность.

Сценарий разрабатывается в Ruby, но может быть переключен на Java/Python, если это будет иметь значение.

Редактировать: Ответ на аналогичный вопрос заключается в использовании службы Service Broker. Однако, похоже, это требование слишком велико для этого требования.

+0

Возможный дубликат [SQL-базы данных вставки/обновления уведомлений TCP] (http://stackoverflow.com/questions/7038964/sql-server-database-insert-update-tcp-notifications) – Igor

+0

https: // msdn. microsoft.com/en-us/library/t9x04ed2(v=vs.110).aspx – EJoshuaS

+0

Я проверил брокер службы SQL Server, но, похоже, это излишне для такого простого требования. – Augusto

ответ

-1

DEV из моей команды предложил следующее:

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

Таким образом:

Триггер не работает внешний скрипт, он просто запускает родную команду SQL. Сценарий не должен генерировать тысячи чтений против БД при чтении.

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

+0

Просьба указать, почему это плохая идея вместе с нижним углом зрения. – Augusto

+0

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

+0

В любом случае SQL Server уже поддерживает отслеживание изменений во всех версиях, кроме Express. Вы можете просто запросить изменения с версии X –

 Смежные вопросы

  • Нет связанных вопросов^_^