|
rowversion и пропуски записей
|
|||
---|---|---|---|
#18+
msLex a_voronin пропущено... Каких? описываю последовательность шагов 1. создаем таблицу в базе Код: sql 1.
2. в первом коннекте выполняем Код: sql 1. 2. 3.
коннект не закрываем 3. во втором коннекте выполняем Код: sql 1. 2. 3. 4.
4. на реплики читаем все, что меньше "активных rowversion" (нужно дождаться передачи данных) Код: sql 1.
и видим запись с f = 2 и запоминаем его id 5. в коннете из пункта 2 (там где вставка f=1) делаем commit и дожидаемся появления этой записи на реплике. убеждаемся, что id у нее меньше, чем у записи с f=2, а значит на шаге 4 мы пропустили f=1 Тест понятен. Но остается вопрос -- какова разница в поведении синхронной и асинхронной ALWAYSON? Может быть одна из них всё же корректно работает? У вас есть возможность протестировать, описанное здесь решение ? https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1205173&msg=18929494 ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2020, 13:19 |
|
rowversion и пропуски записей
|
|||
---|---|---|---|
#18+
a_voronin Но остается вопрос -- какова разница в поведении синхронной и асинхронной ALWAYSON? Для этого вопроса никакой, там вся разница в синхронной / асинхронной записи коммиттов в лог вторичной реплики a_voronin У вас есть возможность протестировать, описанное здесь решение ? https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1205173&msg=18929494 Так как оно полностью основано на данных пользовательских таблиц, то проблем не будет. Единственное, поле MIN_ACTIVE_ROWVERSION должно быть типа binary(8). ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2020, 13:40 |
|
rowversion и пропуски записей
|
|||
---|---|---|---|
#18+
msLex a_voronin Но остается вопрос -- какова разница в поведении синхронной и асинхронной ALWAYSON? Для этого вопроса никакой, там вся разница в синхронной / асинхронной записи коммиттов в лог вторичной реплики a_voronin У вас есть возможность протестировать, описанное здесь решение ? https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1205173&msg=18929494 Так как оно полностью основано на данных пользовательских таблиц, то проблем не будет. Единственное, поле MIN_ACTIVE_ROWVERSION должно быть типа binary(8). Ну и вопрос на миллион долларов: а как реплицируется или вычисляется MIN_ACTIVE_ROWVERSION на реплике ? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2020, 14:36 |
|
rowversion и пропуски записей
|
|||
---|---|---|---|
#18+
a_voronin msLex пропущено... Для этого вопроса никакой, там вся разница в синхронной / асинхронной записи коммиттов в лог вторичной реплики пропущено... Так как оно полностью основано на данных пользовательских таблиц, то проблем не будет. Единственное, поле MIN_ACTIVE_ROWVERSION должно быть типа binary(8). Ну и вопрос на миллион долларов: а как реплицируется или вычисляется MIN_ACTIVE_ROWVERSION на реплике ? никак. я вроде это уже написал ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2020, 14:37 |
|
|
start [/forum/topic.php?fid=46&msg=39917879&tid=1686610]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
36ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
others: | 16ms |
total: | 144ms |
0 / 0 |