|
не нашел способа получения текущего LSN в базе. подскажите.
|
|||
---|---|---|---|
#18+
Собственно сабж. Есть база с cdc процессом. И без возможности в структуру базы как то вмешиваться. Хочется сделать снепшот нескольких таблиц на другой сервер, используя insert .. select, но с привязкой к текущему LSN. Чтобы последовательно потом вписать скопированные данные с cdc данными. Получается, что sys.fn_cdc_get_max_lsn() не подойдет, так как он заполняется "отложено", в процессе обработки лога транзакций, то есть идет с "опозданием" к последней зафиксированной транзакции в базе. Есть конечно вариант данные перетаскивать с Getdate(), и попозже вычислить правильный LSN по cdc.lsn_time_mapping и обновить .. но не очень нравится. может есть другие варианты? Заранее спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.02.2021, 18:03 |
|
не нашел способа получения текущего LSN в базе. подскажите.
|
|||
---|---|---|---|
#18+
Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
19.02.2021, 18:38 |
|
не нашел способа получения текущего LSN в базе. подскажите.
|
|||
---|---|---|---|
#18+
Гавриленко Сергей Алексеевич Код: sql 1.
Спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
19.02.2021, 21:04 |
|
не нашел способа получения текущего LSN в базе. подскажите.
|
|||
---|---|---|---|
#18+
Dzianis, почему вы не хотите сделать перенос данных на другой сервер, используя механизм сбора CDC данных? Так вы получите одну точку происхождения изменений данных и данные будут гарантированно согласованы. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.02.2021, 21:21 |
|
не нашел способа получения текущего LSN в базе. подскажите.
|
|||
---|---|---|---|
#18+
Владислав Колосов Dzianis, почему вы не хотите сделать перенос данных на другой сервер, используя механизм сбора CDC данных? Так вы получите одну точку происхождения изменений данных и данные будут гарантированно согласованы. сложный вопрос. В двух словах и не ответить. Заказчик придумал архитектуру и хочет наличие функции резервного "рестарта" когда в непрерывную цепочку CDC событий "вписывается" копия таблицы, как страховка на форс мажор, когда события из cdc почему то не перенесутся за другой сервер и образуется окно. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.02.2021, 23:04 |
|
не нашел способа получения текущего LSN в базе. подскажите.
|
|||
---|---|---|---|
#18+
Dzianis, Это ни от чего не защитит, так как "железо" происхождения данных одно и то же, равно как и транспорт. Перестраховка явно избыточна и только ухудшает ситуацию. Ну да хозяин - барин. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.02.2021, 23:25 |
|
не нашел способа получения текущего LSN в базе. подскажите.
|
|||
---|---|---|---|
#18+
Владислав Колосов Dzianis, Это ни от чего не защитит, так как "железо" происхождения данных одно и то же, равно как и транспорт. Перестраховка явно избыточна и только ухудшает ситуацию. Ну да хозяин - барин. Тут добавлю. Исходная база с CDC на одном сервере, данные из cdc переносятся ssis на другой. на котором уже и идет их "обработка". Смысл обработки это по CDC собрать денормализованные объекты, которые закинуть в третью базу, на которой уже будет пахать система отчетов. Глядя на заказчика, я, в общем, допускаю вариант, когда процесс может упасть на пару дней и никто не отреагирует на сообщения в логах. За эти пару дней "хвост" в cdc таблицах подчистится и образуется разрыв в последовательности. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.02.2021, 09:25 |
|
не нашел способа получения текущего LSN в базе. подскажите.
|
|||
---|---|---|---|
#18+
К сожалению применить решение не смог. Формат LSN 00008FFF:000018FF:000F так и не перевел корректно к формату BINARY(10), которую юзает cdc. ( ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2021, 13:52 |
|
не нашел способа получения текущего LSN в базе. подскажите.
|
|||
---|---|---|---|
#18+
Dzianis, двоичные данные в Intel формате хранятся в последовательности младший - старший байты, а отображаются как старший - младший. Может в этом дело. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2021, 14:26 |
|
не нашел способа получения текущего LSN в базе. подскажите.
|
|||
---|---|---|---|
#18+
Dzianis К сожалению применить решение не смог. Формат LSN 00008FFF:000018FF:000F так и не перевел корректно к формату BINARY(10), которую юзает cdc. ( https://github.com/Hubbitus/sql/commit/4ccf96492f2aba9796ccaecb1b74e9ba53a45895#diff-e495aa591f98a29c28153735379ad6fdR22 ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2021, 14:36 |
|
|
start [/forum/topic.php?fid=46&msg=40047288&tid=1684829]: |
0ms |
get settings: |
9ms |
get forum list: |
10ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
45ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 142ms |
0 / 0 |