Отслеживание изменений SQL Server и сбор данных изменений для таблицы одновременно - PullRequest
0 голосов
/ 03 октября 2018

Мне нравится добавлять отслеживание изменений и сбор данных изменений в одну и ту же таблицу для SQL Server 2017 (v14.0.3030.27).Когда я включил отслеживание изменений, он работал, также когда я включал сбор данных изменений, он работал хорошо.

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

Мой план состоит в том, чтобы вытащить изменения, используя отслеживание изменений, и получить подробности из таблицы сбора данных изменений. Есть какие-нибудь мысли?

1 Ответ

0 голосов
/ 03 октября 2018

Учитывая вашу дополнительную информацию "Но моя цель - опрашивать небольшую таблицу каждую минуту (если это возможно, секунды)", я бы предложил использовать SqlDependency, чтобы получать уведомления при изменении данных, а не непрерывный опрос.

SqlDependency идеально подходит для сценариев кэширования, когда ваше приложение ASP.NET или служба среднего уровня должны хранить определенную информацию, кэшированную в памяти.SqlDependency позволяет получать уведомления, когда исходные данные в базе данных изменяются, чтобы можно было обновлять кэш.

Чтобы настроить зависимость, вам необходимо связать объект SqlDependency с одним или несколькими объектами SqlCommand.Чтобы получать уведомления, вам необходимо подписаться на событие OnChange.Дополнительные сведения о требованиях к созданию запросов для уведомлений см. В разделе Работа с уведомлениями о запросах.

С предупреждением:

SqlDependency предназначен для использования в ASP.NET.или сервисы среднего уровня, где существует относительно небольшое количество серверов, имеющих активные зависимости от базы данных.Он не предназначен для использования в клиентских приложениях, где сотни или тысячи клиентских компьютеров будут иметь объекты SqlDependency, настроенные для одного сервера базы данных.

...