Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Транзакционная репликация - The process is running and is waiting for a response from the  [new]
andrew shalaev
Member

Откуда: Moscow
Сообщений: 610
Доброго времени суток!

СУБД:Microsoft SQL Server 2008 R2 (SP2) - 10.50.4000.0 (X64) Jun 28 2012 08:36:30 Copyright (c) Microsoft Corporation Data Center Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1)

Настроена транзакционная репликация:
Одна из таблиц, которая реплецируется высоконагружена по встаке данных.
По мере работы системы растет кол-во недоставленных транзакций, после 3-4 часов работы разница в кол-ве строк между таблицей на подписчике и публикации составляет порядка 3-4 млн.

Выполняю:
+
select *
from msdb..sysreplicationalerts
order by time desc


возвращает:
Replication-Replication Distribution Subsystem: agent SRV01\SQL2008R2-3 Tables-SRV02\SQL2008R2-3 scheduled for retry. Query timeout expired



Запрос:
+
select * 
from distribution..MSdistribution_history
order by timestamp desc, agent_id 
go


возвращает:
The process is running and is waiting for a response from the server.
Initializing
Query timeout expired


в чем ошибка?
12 мар 14, 14:43    [15710712]     Ответить | Цитировать Сообщить модератору
 Re: Транзакционная репликация - The process is running and is waiting for a response from the  [new]
andrew shalaev
Member

Откуда: Moscow
Сообщений: 610
После полного падения нагрузки картина та же.
12 мар 14, 15:03    [15710906]     Ответить | Цитировать Сообщить модератору
 Re: Транзакционная репликация - The process is running and is waiting for a response from the  [new]
invm
Member

Откуда: Москва
Сообщений: 9836
andrew shalaev
в чем ошибка?
По сути ошибки нет. Агенту не удалось применить пакет инструкций на подписчике за отведенное на это время.
Вам нужно отмониторить этот долгоиграющий запрос и выяснить причины долгоиграния.
12 мар 14, 15:13    [15711009]     Ответить | Цитировать Сообщить модератору
 Re: Транзакционная репликация - The process is running and is waiting for a response from the  [new]
andrew shalaev
Member

Откуда: Moscow
Сообщений: 610
invm,

присутсвуют частые блокировки. инициатором выступает процедура sp_MSsubscription_cleanup
12 мар 14, 15:34    [15711218]     Ответить | Цитировать Сообщить модератору
 Re: Транзакционная репликация - The process is running and is waiting for a response from the  [new]
invm
Member

Откуда: Москва
Сообщений: 9836
andrew shalaev,
Можете временно запретить джоб Distribution clean up: distribution.

А для начала, лучше всего, включить подробное журналирование дистр.-агента (ключи запуска OutputVerboseLevel и Output) и выяснить какой именно запрос приводит к таймауту.
12 мар 14, 16:00    [15711468]     Ответить | Цитировать Сообщить модератору
 Re: Транзакционная репликация - The process is running and is waiting for a response from the  [new]
andrew shalaev
Member

Откуда: Moscow
Сообщений: 610
invm
А для начала, лучше всего, включить подробное журналирование дистр.-агента (ключи запуска OutputVerboseLevel и Output) и выяснить какой именно запрос приводит к таймауту.


Можно подробнее? Как запустить агент с ключами, для включения подробного журналирования?
13 мар 14, 11:55    [15716019]     Ответить | Цитировать Сообщить модератору
 Re: Транзакционная репликация - The process is running and is waiting for a response from the  [new]
invm
Member

Откуда: Москва
Сообщений: 9836
andrew shalaev
Можно подробнее? Как запустить агент с ключами, для включения подробного журналирования?
Два способа:
1. Создать новый профиль агента с нужными значениями (ЕМНИП через GUI не получится из-за бага студии) и назначить его дистр. агенту.
2. Добавить ключи руками в шаге запуска агента соответствующего джоба.
13 мар 14, 12:09    [15716171]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить