Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Потоковая репликация  [new]
Константин Евтеев
Member

Откуда:
Сообщений: 171
Добрый день.
Возникла следующая ситуация:
Есть публикация на одну таблицу, у нее 4 подписчика(pull subscriptions)
Была нагрузка на издателе и началось отставание, 2 подписчика догнали, а на других 2 в логах Distributor to subscriber history:
Query timeout expired
The process is running and is waiting for a response from the server.
Initializing

Возможно ли обойтись без реинициализации и можно ли избежать повторения данной ситуации?
27 фев 14, 12:08    [15638661]     Ответить | Цитировать Сообщить модератору
 Re: Потоковая репликация  [new]
invm
Member

Откуда: Москва
Сообщений: 9838
Назначьте агенту профиль с увеличенным Query timeout.
27 фев 14, 12:31    [15638828]     Ответить | Цитировать Сообщить модератору
 Re: Потоковая репликация  [new]
Константин Евтеев
Member

Откуда:
Сообщений: 171
invm, какому конкретно, требуется ли после этого перезапуск чего-нибудь? и Query timeout expired уже продолжается в течении суток, непонятна причина и почему другие подписки работают?
27 фев 14, 13:50    [15639517]     Ответить | Цитировать Сообщить модератору
 Re: Потоковая репликация  [new]
invm
Member

Откуда: Москва
Сообщений: 9838
Константин Евтеев
какому конкретно, требуется ли после этого перезапуск чего-нибудь?
Distribution agent'у. Если он работает в непрерывном режиме, то требуется перезапуск.
Константин Евтеев
Query timeout expired уже продолжается в течении суток, непонятна причина и почему другие подписки работают?
Причина выявляется профайлером, либо подробным журналированием работы агента (читать про параметры OutputVerboseLevel и Output) - нужно найти долгоиграющий запрос, вызывающий таймаут.
27 фев 14, 14:29    [15639898]     Ответить | Цитировать Сообщить модератору
 Re: Потоковая репликация  [new]
Константин Евтеев
Member

Откуда:
Сообщений: 171
invm, спасибо.
Решил пойти другим путем: построил индекс на таблицу MSrepl_commands.
При отставании репликации она очень сильно разрослась и таймаут возникал при чтении из нее.

Еще один вопрос:
После того как репликации перестали отставать в таблице MSrepl_commands должна была почиститься, однако этого произошло в ней по прежнему много записей, как ее почистить?
28 фев 14, 10:30    [15644432]     Ответить | Цитировать Сообщить модератору
 Re: Потоковая репликация  [new]
invm
Member

Откуда: Москва
Сообщений: 9838
Минимальный срок хранения транзакций дистрибьютором определяется значением параметра min_distretention. Настроить можно процедурой sp_changedistributiondb.
28 фев 14, 10:59    [15644649]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить