Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
STsarionov Member Откуда: Сообщений: 105 |
Добрый день. Сервер sql 2012 sp1 cu5 база в зеркале (асинхронное). Периодически наблюдаю ситуацию - непримененный размер лога на зеркале 50-60гб, база в режиме Sinhronized. Когда такое происходит, скорость применения транзакций на зеркале падает до 5-10мб/сек. Почему сервер переводит базу в режим "синхронизировано", когда еще такое количество непримененного лога имеется? Причем как я понял, лог на основной базе не очищается, пока транзакции не применены на зеркале, т.к. select log_reuse_wait_desc, name from sys.databases это выдает такое ожидание: DATABASE_MIRRORING. Вопросы: -баг ли это? -как заставить его перейти в режим синхронизации? (пока делаю паузу и потом запуск зеркала, он начинает синхронизировать весь лог с нуля) спасибо. |
30 окт 13, 11:14 [15051233] Ответить | Цитировать Сообщить модератору |
STsarionov Member Откуда: Сообщений: 105 |
ап |
30 окт 13, 17:14 [15054484] Ответить | Цитировать Сообщить модератору |
STsarionov Member Откуда: Сообщений: 105 |
ап |
31 окт 13, 08:50 [15056572] Ответить | Цитировать Сообщить модератору |
gang Member Откуда: Сообщений: 1394 |
Потому, что сервер переводит БД в Sinhronized после того как завершится процесс инициализации зеркала и оставляет БД в таком статусе пока процесс передачи и применения лога работает и не прерывается. У вас процесс хоть и замедлен, но не прерывается. Причин выводить БД из Sinhronized у сервера нет. Состояния зеркала.
Не правильно поняли. Поскольку режим у вас асинхронный, то лог очищается после того как транзакции отправлены на зеркало. Подтверждения применения сиквел не ждет. Посмотрите, что у вас со скоростью отправки.
Баг сиквела? Вряд ли. Кстати откуда у Вас генерится столько лога? Это реиндекс или какая-то массовая вставка\модификация данных?
И что происходит? Скорость доставки повышается? |
||||||||
31 окт 13, 09:34 [15056657] Ответить | Цитировать Сообщить модератору |
STsarionov Member Откуда: Сообщений: 105 |
На счет процесса инициализации зеркала не скажу, не умею смотреть инициализировано ли зеркало полностью или нет, кроме как по статусу зеркала. Но, как объяснить отставание зеркала на 800гб за 2 дня, я не знаю. Переход зеркала в статус "синхронизировано" при остатках(таких огромных) непримененного лога, объяснить не могу, за полгода работы зеркала - это нетипичное для него поведение. Причем судя по монитору зеркалирования, передача транзакций идет частями, т.е. послалось 50-60гб лога на зеркало и потом идет задержка пока эти 50-60 не применятся, потом снова посылка части транзакций. Между серверами оптоволокно, время отклика не выше 1-2мс, пропускная способность 100мб/сек, потому грешить на сеть не могу. Обычно у нас в день формируется около 300-400гб лога ( это обычная работа системы, без ребилда индексов и т.д.) Буквально сегодня наблюдал такую картину: лог базы очистился после бэкапа только после полного применения на зеркале тех самых отстающих 800гб, после этого передал новые 600гб, что успело наколбаситься пока зеркало догоняло и только после этого лог очистился бэкапом. Может есть какой-то буфер зеркалирования, который у нас переполняется и держит логи. Причем важное дополнение: в синхронном режиме, падение производительности не наблюдается, зеркало не отстает, но такой режим нам не подходит, т.к. в будущем такого хорошего канала между серверами возможно не будет. |
||
31 окт 13, 09:58 [15056724] Ответить | Цитировать Сообщить модератору |
Все форумы / Microsoft SQL Server | ![]() |