tsql ждут изменения с включенным Read Committed Snapshot

Привет сообщество Stackru,

Позвольте мне попросить вашей помощи, поскольку я столкнулся с критической проблемой.

У нас есть два связанных сервера, и оба являются серверами Microsoft SQL: CRM и DW. Некоторые изменения в системе CRM запускают процедуру мгновенного получения обновлений на сервер DW, и способ, которым она работает, заключается в том, что система CRM вызывает сервер DW для обновления записи. В моем случае обновления, поступающие из системы CRM для серверов CRM и DW sql, называются одновременными, и здесь начинается проблема.

DW-сервер пытается прочитать изменения и получает записи только до начала транзакции. Да, это происходит потому, что CRM-сервер использует:

Читать зафиксированный снимок включен

К сожалению, мы не можем изменить уровень изоляции на сервере CRM sql. Простое объяснение - CRM исходит от стороннего поставщика, и они хотят ограничить нас, чтобы сделать эти возможности.

Есть ли другой способ дождаться подтверждения транзакции и затем прочитать последние данные после подтверждения?

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

1 ответ

Я не понимаю поток управления здесь, но из первого параграфа вы сказали, что обновления в CRM запускают процесс обновления сервера DW. Итак, я не понимаю, как сервер DW может обновляться до CRM-сервера. Вы заявили, что они вызываются одновременно, но это сведет на нет комментарий о триггере. Вы не хотели бы, чтобы DW получал грязное чтение, поэтому READ COMMITTED SNAPSHOT - хороший выбор, но вы также можете указать любой уровень изоляции на уровне транзакций и переопределить настройку сервера по умолчанию.

Поскольку вы спросили: "Можно ли дождаться подтверждения транзакции и затем прочитать последние данные после подтверждения?", Конечно, это может быть обработано несколькими способами...

Другие вопросы по тегам