Репликация транзакций SQL Server через VPN

У меня есть репликация транзакций между двумя серверами через выделенное соединение VPN. Базы данных довольно большие, поэтому я сначала использую метод резервного копирования и восстановления, чтобы передать исходный моментальный снимок на машину подписчика, а затем позволить ему применить инкрементные транзакции оттуда.

Все работает нормально, пока линия VPN не становится нестабильной (что случается иногда), и в этот момент процесс репликации склонен к блокировке. Когда я смотрю на сторону подписчика, есть несколько процессов SQL, которые кажутся зависшими и имеют блокировки в базе данных и таблицах подписчиков. Самое безумное, что эти процессы поступают из службы репликации. Могу заверить вас (методом проб и ошибок), что никакие другие процессы не блокируют эту базу данных, кроме самой репликации.

Так почему же процесс репликации может так запутаться? Почему он зависнет только из-за потери сетевого подключения? Есть предложения как-то сделать его более надежным?


person jeremcc    schedule 17.02.2009    source источник
comment
Какой брандмауэр вы используете для создания VPN-туннеля? Вы используете последнюю прошивку.   -  person John Sansom    schedule 17.02.2009
comment
@John Sansom - Не уверен, я действительно не контролирую сеть.   -  person jeremcc    schedule 17.02.2009
comment
Какие версии SQL Server (2000, 2005, 2008) у вас установлены? Когда есть заблокированный процесс, можете ли вы выполнить DBCC INPUTBUFFER (spid) со spid ожидающего процесса и показать, что он делал? Это может помочь его отследить.   -  person Brent Ozar    schedule 21.02.2009
comment
Я использую 2005 год. Я попробую DBCC INPUTBUFFER. Спасибо за предложение.   -  person jeremcc    schedule 22.02.2009
comment
Есть какие-нибудь обновления результатов DBCC INPUTBUFFER?   -  person Brent Ozar    schedule 25.02.2009


Ответы (3)


Я слышал о подобных проблемах при подключении через VPN. здесь, которая может вам помочь.

Другой вариант, если у вас есть постоянные проблемы и в зависимости от ваших требований к скорости и функциональности, может быть использование доставки журналов. По моему скромному мнению, это может обеспечить более устойчивый способ перемещения данных - по крайней мере, с точки зрения сети.

person Timbo    schedule 20.02.2009
comment
Хорошая идея по доставке бревен. Если проблемы не исчезнут, я могу рассмотреть этот вариант. - person jeremcc; 20.02.2009

В SQL Server 2005 они позволяют выполнять репликацию с помощью веб-службы. Это может не позволить вам отказаться от VPN, но поскольку веб-сервисы меньше связаны с подключением, это может помочь решить проблему. Я сам не пробовал, поэтому не знаю, каковы могут быть результаты.

Что касается замков, мы испугались, думая, что многие вещи были заблокированы, но оказалось, что монитор репликации просто блокировался сам по себе, поэтому убедитесь, что у вас нет этого открытого, когда смотрите на замки. Хотя это не похоже на вашу проблему.

person Ryan    schedule 26.02.2009

Я задам несколько вопросов, и, возможно, они дадут вам несколько идей, поскольку я тоже не имею ни малейшего понятия.

Есть ли способ для репликатора проверить возможность подключения перед попыткой начать копирование? Есть ли способ проверить подключение к любому сценарию, который вы используете для выполнения репликации? Есть ли способ получить залог за скрипт в случае неудачи?

person Community    schedule 19.02.2009