Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
07.01.2002, 17:33
|
|||
|---|---|---|---|
suspended transaction? |
|||
|
#18+
Здравствуйте Уважаемые, Не поможет ли кто советом. Возможно ли на MS SQL Server 2000 реализовать ситуацию, когда в случае переполнения лога активная транзакция будет не откатываться автоматически, а переводиться в состояние suspended и ждать пока в логе появится свободное место? Происхождение проблемы следующее. Производятся массированные обновления (вставки, удаления) таблицы, участвующей в транзакционной репликации. Операции разбиты на короткие транзакции, но генерятся эти транзакции быстрее, чем Log Reader успевает считывать их и снимать флаг for replication. В следствии чего невозможно бэкапить (транкейтить) эти транзакции, лог переполняется и очередная транзакция откатывается. Хотелось бы чтобы вместо этого активная транзакция переводилась бы в состояние suspended и ждала бы пока log reader прочитает данные из лога, произойдет бэкап лога (или truncate on checkpoint) и место в логе освободится. Таким образом работает наприме Sybase. Заранее признателен, Константин ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
08.01.2002, 06:11
|
|||
|---|---|---|---|
|
|||
suspended transaction? |
|||
|
#18+
Не уверен, но тем не менее - а что, если увеличить в профиле агента Log Reader значение параметра ReadBatchSize? Тогда он за один присест будет читать большее кол-во транзакций из журнала... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
08.01.2002, 14:22
|
|||
|---|---|---|---|
suspended transaction? |
|||
|
#18+
Это я уже пробовал. К сожалению не катит. Все равно Log Reader читает данные медленнее чем например bcp in вставляет их. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
09.01.2002, 15:46
|
|||
|---|---|---|---|
suspended transaction? |
|||
|
#18+
Если все обстоит так, как ты описываешь, значит некорректно выбран вид репликации. Нужно использовать такую репликацию, в которой не используется Log Reader. Например, непосредственно обновляемых подписчиков. Ясное дело, в этом случае страдает надежность и требуются высокоскоростные и надежные каналы связи... Есть еще Snapshot-репликация и закачка через DTS-пакеты... В лоб и безболезненно сложные вопросы не решаются. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
09.01.2002, 16:30
|
|||
|---|---|---|---|
suspended transaction? |
|||
|
#18+
Спасибо Garya за комментарий. Жаль конечно. В Sybase это более удобно организовано. Там прямо есть dboption такая 'abort tran on log full'. Позволяет задавать поведение транзакции при заполнении лога. Не понятно почему ее выбросили из MS SQL. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
10.01.2002, 04:18
|
|||
|---|---|---|---|
|
|||
suspended transaction? |
|||
|
#18+
а если так - в теле транзакции проверяй, на сколько у тебя заполнен журнал, и если значение приближается к критическому, то притормаживай завершение транзакции, например, командой WAIT FOR, а в это время Log Reader прочтет ранее завершенные транзакции и пометит их ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
10.01.2002, 14:31
|
|||
|---|---|---|---|
suspended transaction? |
|||
|
#18+
Это как же мне заставить bcp притормозить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=46&tablet=1&tid=1824342]: |
0ms |
get settings: |
9ms |
get forum list: |
23ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
65ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
2ms |
| others: | 214ms |
| total: | 379ms |

| 0 / 0 |
