|
Доставка журнала транзакции
|
|||
---|---|---|---|
#18+
Добрый день! Есть высоко нагруженная БД. С нее переливаем дурнал транзакций на другой серве. И журналы почему то очень долго восстанавливаются. Явных каких то причин я не вижу. Подскажите в каком направлении смотреть? Я думал изначально проблема мб с инициализаций файлов но влогах есть запись что все успешно включено авторDatabase Instant File Initialization: включено. For security and performance considerations see the topic 'Database Instant File Initialization' in SQL Server Books Online. This is an informational message only. No user action is required. Вот пример авторSPID command Query start_time percent_complete estimated_completion_time61RESTORE LOG RESTORE LOG [dbname] FROM DISK = N'\\dbname-2\w$\backs\dbname_20201222042000.trn' WITH FILE = 1 STANDBY = N'D:\SQLData\dbname_20201224170346.tuf'2020-12-25 01:03:46.9701002020-12-25 01:44:26.553 Изображение для наглядности http://prntscr.com/w9ayrt Причем я вижу что файл востоновлен за 2 минуты. И может висеть больше часа в таком состоянии В логах вижу следующее http://prntscr.com/w9b0zp Но если прикаждом накате журнала транзакций он будет восстанавливать БД(20ТБ) - это просто безумие Размер восстанавливаемого журнала 365МБ ... |
|||
:
Нравится:
Не нравится:
|
|||
24.12.2020, 21:01 |
|
Доставка журнала транзакции
|
|||
---|---|---|---|
#18+
Ну, прогресс применения лога в 10% за 2 минуты означает, что с некоторой долей вероятности весь бэкап применится за 20 минут. Далее все зависит от неизвестной информации -- какой период лога попал в бэкап. Если двухминутный, то это фиаско, да. Если 20 минутный, то это еще терпимо, если 20 часовой, то что мы тут вообще обсуждаем? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.12.2020, 23:50 |
|
Доставка журнала транзакции
|
|||
---|---|---|---|
#18+
Гавриленко Сергей Алексеевич Ну, прогресс применения лога в 10% за 2 минуты означает, что с некоторой долей вероятности весь бэкап применится за 20 минут. Далее все зависит от неизвестной информации -- какой период лога попал в бэкап. Если двухминутный, то это фиаско, да. Если 20 минутный, то это еще терпимо, если 20 часовой, то что мы тут вообще обсуждаем? Лог отправляю каждый 5 минут ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2020, 05:59 |
|
Доставка журнала транзакции
|
|||
---|---|---|---|
#18+
а если восстанавливать с локального диска? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2020, 07:57 |
|
Доставка журнала транзакции
|
|||
---|---|---|---|
#18+
KOD_BILL Есть высоко нагруженная БД. И журналы почему то очень долго восстанавливаются. Явных каких то причин я не вижу. Подскажите в каком направлении смотреть? 1. "высоко нагруженная БД" = дохера транзакций 2. При восстановлении журнала ВСЕ эти транзакции выполняются. 3. На это надо время, сравнимое, при равной мощности серверов, с временем выполнения этих "дохера транзакций" на исходном сервере. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2020, 08:37 |
|
Доставка журнала транзакции
|
|||
---|---|---|---|
#18+
Думаю, дело в опции STANDBY. С ней в процессе restore много работы делается, которой нет с опцией norecovery. Для этого и используется дополнительный файл 'D:\SQLData\dbname_20201224170346.tuf'. Решение проблемы - использовать restore с опцией norecovery. К моменту, когда нужна будет БД для чтения - прогнать очередной restore c опцией STANDBY. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2020, 09:37 |
|
Доставка журнала транзакции
|
|||
---|---|---|---|
#18+
Если речь идет о лог-шиппинге, то так примерно делаю, когда приходит время читать из БД: отключаю джобы copy и restore прогоняю эти два джоба, чтобы все бекапы лога накатились все это в режиме norecovery - он быстрый меняю на standby прогоняю джоб backup прогоняю джобы copy и restore - этот restore медленный, но он один БД доступна для чтения ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2020, 09:45 |
|
Доставка журнала транзакции
|
|||
---|---|---|---|
#18+
Тяп-ляп Думаю, дело в опции STANDBY. С ней в процессе restore много работы делается, которой нет с опцией norecovery. Для этого и используется дополнительный файл 'D:\SQLData\dbname_20201224170346.tuf'. Решение проблемы - использовать restore с опцией norecovery. К моменту, когда нужна будет БД для чтения - прогнать очередной restore c опцией STANDBY. Да с norecovery время уменьшилось до 15 минут aleks222 KOD_BILL Есть высоко нагруженная БД. И журналы почему то очень долго восстанавливаются. Явных каких то причин я не вижу. Подскажите в каком направлении смотреть? 1. "высоко нагруженная БД" = дохера транзакций 2. При восстановлении журнала ВСЕ эти транзакции выполняются. 3. На это надо время, сравнимое, при равной мощности серверов, с временем выполнения этих "дохера транзакций" на исходном сервере. Сервер слабенький для реплики тут всего 8ЦП 16ОЗУ. Но Я как то не рассчитывал что тут будет так долго восстанавливается SERG1257 а если восстанавливать с локального диска? Фактически он находится на этой же машине на диске W ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2020, 10:01 |
|
Доставка журнала транзакции
|
|||
---|---|---|---|
#18+
Тяп-ляп Если речь идет о лог-шиппинге, то так примерно делаю, когда приходит время читать из БД: отключаю джобы copy и restore прогоняю эти два джоба, чтобы все бекапы лога накатились все это в режиме norecovery - он быстрый меняю на standby прогоняю джоб backup прогоняю джобы copy и restore - этот restore медленный, но он один БД доступна для чтения Это для тех случаев когда надо что бы БД была доступна для чтения/записи? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2020, 10:02 |
|
Доставка журнала транзакции
|
|||
---|---|---|---|
#18+
Только для чтения будет доступна. Для записи - нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2020, 10:05 |
|
Доставка журнала транзакции
|
|||
---|---|---|---|
#18+
авторСервер слабенький для реплики тут всего 8ЦП 16ОЗУ В первую очередь диск нужен быстрый. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2020, 10:10 |
|
Доставка журнала транзакции
|
|||
---|---|---|---|
#18+
Тяп-ляп авторСервер слабенький для реплики тут всего 8ЦП 16ОЗУ В первую очередь диск нужен быстрый. В сторону дисков не думаю. Везде стоят SSD. Для примера БД 20 ТБ ресторил 6 часов ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2020, 10:53 |
|
Доставка журнала транзакции
|
|||
---|---|---|---|
#18+
KOD_BILL, а сколько VLF в исходной базе? см команду dbcc loginfo() ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2020, 12:52 |
|
Доставка журнала транзакции
|
|||
---|---|---|---|
#18+
komrad, На момент запроса 1534 ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2020, 13:28 |
|
Доставка журнала транзакции
|
|||
---|---|---|---|
#18+
KOD_BILL komrad, На момент запроса 1534 https://techcommunity.microsoft.com/t5/sql-server-support/how-a-log-file-structure-can-affect-database-recovery-time/ba-p/315780 ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2020, 14:09 |
|
Доставка журнала транзакции
|
|||
---|---|---|---|
#18+
komrad, Спасибо. Что то подобное я уже прочитал. Сегодня внесу измененя перед обслуживанием. Но я ребутнул "реплику" еще вчера. На данный момент журналы востанавливаются в среднем за 2-5 минуты. За ночь нагнал отставание с 23го числа. Осталось догнать 13-14 часов ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2020, 14:29 |
|
|
start [/forum/topic.php?fid=46&fpage=38&tid=1685247]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
50ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
54ms |
get tp. blocked users: |
2ms |
others: | 291ms |
total: | 437ms |
0 / 0 |