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

Откуда: Москва
Сообщений: 4813
Вчера началось следующее
1) Переполнился транзакшн лог у базы с InMemory (на нашем любимом SQL 2014).
2) Началось это видимо в результате событий https://www.sql.ru/forum/1215358/snesti-odin-iz-faylov-loga (так как база успешно работала полтора года)
3) Стали накатывать CU5 (делал это не я), и увидели что пошёл скан лога на 1300000 секунд, испугались и рубанули сервак
4) Все у кого накопились невысказанные нецензурные выражения (особенно трёх и пятиэтажные) могут их высказать ибо я присоединяюсь
5) Решили убить лог (поднять без лога)
6) RAPAIR_ALLOW_DATA_LOSS -- это уже я подключился -- послала в жопу -- сказала даже я такое восстановить не смогу (незакоммиченные тразакции, а лога нет)
7) Теперь идёт восстановление бекапа -- Прошло полное, теперь идёт DIFFERENCIAL
18 часов
8) А рековери-то симпл

база 1.8 TB -- в ней есть InMemory и Readonly фыайл группы плюс лог, который вырос до 2 ТБ

Вот интересно -- она опять будет накатывать коррекции из CU5 на 1300000 секунд

Ну и главный вопрос -- а как правильно надо было действовать?
1 июн 16, 11:33    [19244711]     Ответить | Цитировать Сообщить модератору
 Re: Превратности администрирования SQL Server  [new]
StarikNavy
Member

Откуда: Москва
Сообщений: 2397
a_voronin,

а тестового стенда нету? чтобы на нем все CU сначала отработать
(не в упрек, у меня например положить базу удалось и при наличии тестового сервера (т.к. админы поставили на нем другой коллэйшен, и на прогоне проблема не обнаружилась))
1 июн 16, 12:22    [19245035]     Ответить | Цитировать Сообщить модератору
 Re: Превратности администрирования SQL Server  [new]
a_voronin
Member

Откуда: Москва
Сообщений: 4813
StarikNavy
a_voronin,

а тестового стенда нету? чтобы на нем все CU сначала отработать
(не в упрек, у меня например положить базу удалось и при наличии тестового сервера (т.к. админы поставили на нем другой коллэйшен, и на прогоне проблема не обнаружилась))


Для этой базы вряд ли . Повтор ETL и даже просто бекап рестор -- слишком накладно
1 июн 16, 13:00    [19245279]     Ответить | Цитировать Сообщить модератору
 Re: Превратности администрирования SQL Server  [new]
Mr. X
Guest
a_voronin,

А это "увидели что пошёл скан лога на 1300000 секунд" чего такое?
1 июн 16, 14:30    [19245779]     Ответить | Цитировать Сообщить модератору
 Re: Превратности администрирования SQL Server  [new]
invm
Member

Откуда: Москва
Сообщений: 9683
a_voronin
Ну и главный вопрос -- а как правильно надо было действовать?
Если с CU такие проблемы - создать новую БД и перелить туда данные, старую прибить, потом накатить CU.

ЗЫ:Для каких целей потребовалось более одного ЖТ?
1 июн 16, 14:40    [19245850]     Ответить | Цитировать Сообщить модератору
 Re: Превратности администрирования SQL Server  [new]
a_voronin
Member

Откуда: Москва
Сообщений: 4813
invm
a_voronin
Ну и главный вопрос -- а как правильно надо было действовать?
Если с CU такие проблемы - создать новую БД и перелить туда данные, старую прибить, потом накатить CU.

ЗЫ:Для каких целей потребовалось более одного ЖТ?


Сейчас почти так и происходит -- базу восстанавливаю из бекапа при том, что CU уже установлен.
1 июн 16, 14:46    [19245892]     Ответить | Цитировать Сообщить модератору
 Re: Превратности администрирования SQL Server  [new]
o-o
Guest
invm
Для каких целей потребовалось более одного ЖТ?

дак
a_voronin
лог, который вырос до 2 ТБ

типа официальное ограничение лога 2Тб,
поди испугались и еще файлики добавили.
тем более, что лично мне a_voronin обещал, что место у него не закончится: 19216733
1 июн 16, 14:52    [19245943]     Ответить | Цитировать Сообщить модератору
 Re: Превратности администрирования SQL Server  [new]
a_voronin
Member

Откуда: Москва
Сообщений: 4813
o-o
invm
Для каких целей потребовалось более одного ЖТ?

дак
a_voronin
лог, который вырос до 2 ТБ

типа официальное ограничение лога 2Тб,
поди испугались и еще файлики добавили.
тем более, что лично мне a_voronin обещал, что место у него не закончится: 19216733


Да место было.

Еще раз,
1) Лог переполнился
2) Файл поленились добавить
3) Поставили CU 5
4) Установка зависла -- в логе 1300200 seconds remaining 1300100 seconds remaining 1300000 seconds remaining
5) Перезапустили сервак
6) База с InMemory в Suspect
7) RAPAIR_ALLOW_DATA_LOSS -- идите в жопу -- восстанавливайтесь из бекапа
1 июн 16, 14:57    [19245987]     Ответить | Цитировать Сообщить модератору
 Re: Превратности администрирования SQL Server  [new]
Mr. X
Guest
a_voronin,

может стоило накатить https://support.microsoft.com/en-us/kb/3167392 ?
1 июн 16, 15:16    [19246112]     Ответить | Цитировать Сообщить модератору
 Re: Превратности администрирования SQL Server  [new]
a_voronin
Member

Откуда: Москва
Сообщений: 4813
Mr. X,

Не стали из-за этого 19239578

Дело было вчера
1 июн 16, 15:55    [19246382]     Ответить | Цитировать Сообщить модератору
 Re: Превратности администрирования SQL Server  [new]
a_voronin
Member

Откуда: Москва
Сообщений: 4813
Вот что он тут делает на последнем этапе RESTORE ?

1 percent processed.
2 percent processed.
3 percent processed.
4 percent processed.
.....
88 percent processed.
89 percent processed.
90 percent processed.
91 percent processed.
92 percent processed.
Processed 9470712 pages for database 'ABC', file 'ABC' on file 1.
Processed 888968 pages for database 'ABC', file 'ABC_01' on file 1.
Processed 1232 pages for database 'ABC', file 'ABC_Indexes' on file 1.
Processed 10480584 pages for database 'ABC', file 'ABC_Readonly' on file 1.
Processed 11573982 pages for database 'ABC', file 'ABC_log' on file 1.
Processed 1459833 pages for database 'ABC', file 'ABC_log2' on file 1.
Processed 157996300 pages for database 'ABC', file 'ABC_log3' on file 1.
Processed 36906 pages for database 'ABC', file 'ABC_in_memory' on file 1.
1 июн 16, 15:57    [19246399]     Ответить | Цитировать Сообщить модератору
 Re: Превратности администрирования SQL Server  [new]
Mr. X
Guest
a_voronin,

полагаю это ваши транзакции на момент создания бэкапа (redo & undo)
1 июн 16, 16:08    [19246478]     Ответить | Цитировать Сообщить модератору
 Re: Превратности администрирования SQL Server  [new]
StarikNavy
Member

Откуда: Москва
Сообщений: 2397
a_voronin,

чем закончилось? если не секрет
2 июн 16, 13:51    [19250013]     Ответить | Цитировать Сообщить модератору
 Re: Превратности администрирования SQL Server  [new]
a_voronin
Member

Откуда: Москва
Сообщений: 4813
StarikNavy
a_voronin,

чем закончилось? если не секрет


Ещё не закончилось.

Применили CU5
31 час восстанавливаись из бекапа. Бекап повалился. Пробуем ещё раз.
2 июн 16, 15:41    [19250717]     Ответить | Цитировать Сообщить модератору
 Re: Превратности администрирования SQL Server  [new]
a_voronin
Member

Откуда: Москва
Сообщений: 4813
Господа, кто-то может внятно сказать, что происходит на последнем этапе бекапа, когда бекап со старой версии сервера (до патча) развёртывается на новой версии сервера.
2 июн 16, 16:01    [19250838]     Ответить | Цитировать Сообщить модератору
 Re: Превратности администрирования SQL Server  [new]
Mr. X
Guest
a_voronin,

Лог SQL сервера многое может сказать
2 июн 16, 16:59    [19251198]     Ответить | Цитировать Сообщить модератору
 Re: Превратности администрирования SQL Server  [new]
a_voronin
Member

Откуда: Москва
Сообщений: 4813
Mr. X
a_voronin,

Лог SQL сервера многое может сказать


Да, он как начал говорить, та и говорит не остнавливаясь
+

2016-06-02 01:11:08.29 spid20s Recovery of database 'ABC' (8) is 0% complete (approximately 1472368 seconds remain). Phase 1 of 3. This is an informational message only. No user action is required.
2016-06-02 01:11:28.29 spid20s Recovery of database 'ABC' (8) is 0% complete (approximately 1472322 seconds remain). Phase 1 of 3. This is an informational message only. No user action is required.
2016-06-02 01:11:48.30 spid20s Recovery of database 'ABC' (8) is 0% complete (approximately 1472280 seconds remain). Phase 1 of 3. This is an informational message only. No user action is required.
2016-06-02 01:12:08.30 spid20s Recovery of database 'ABC' (8) is 0% complete (approximately 1472232 seconds remain). Phase 1 of 3. This is an informational message only. No user action is required.
2016-06-02 01:12:28.32 spid20s Recovery of database 'ABC' (8) is 0% complete (approximately 1472191 seconds remain). Phase 1 of 3. This is an informational message only. No user action is required.
2016-06-02 01:12:48.31 spid20s Recovery of database 'ABC' (8) is 0% complete (approximately 1472159 seconds remain). Phase 1 of 3. This is an informational message only. No user action is required.
2 июн 16, 17:43    [19251418]     Ответить | Цитировать Сообщить модератору
 Re: Превратности администрирования SQL Server  [new]
Mr. X
Guest
a_voronin,

Я так полагаю (судя по логу), что процент завершения команды BACKUP близок к 90-100%.
Из того же лога видим: Phase 1 of 3 - все страницы из бэкапа в файлы данных создаваемой базы уже перенесены и началась обработка захваченного при бэкапе активного участка журнала транзакций (АУЖТ).
Phase 1 of 3 - анализирует АУЖТ. Готовит план работ для последующих фаз.
Phase 2 of 3 - накатывает все транзакции из АУЖТ (redo).
Phase 3 of 3 - откатывает незавершенные транзакции из АУЖТ (undo).

PS: Phase 1 самая быстрая, как правило. Остальные существенно продолжительнее.
2 июн 16, 18:10    [19251521]     Ответить | Цитировать Сообщить модератору
 Re: Превратности администрирования SQL Server  [new]
invm
Member

Откуда: Москва
Сообщений: 9683
a_voronin
Да, он как начал говорить, та и говорит не остнавливаясь
И не остановится, пока не выполнит recovery.

Т.к. у вас все запущено и активная часть журнала, насколько я понял, многотерабайтная, то recovery будет длиться ооочень дооолго.
Первая фаза это Analysis - порстроение DPT (Durty Pages Table) и ATT (Active Transactions Table)
Потом будет Redo, затем Undo.
На фазе Undo может опять случится переполнение ЖТ и restore завершится неудачей.

Так что запасайтесь терпением.
2 июн 16, 18:31    [19251587]     Ответить | Цитировать Сообщить модератору
 Re: Превратности администрирования SQL Server  [new]
a_voronin
Member

Откуда: Москва
Сообщений: 4813
invm
a_voronin
Да, он как начал говорить, та и говорит не остнавливаясь
И не остановится, пока не выполнит recovery.

Т.к. у вас все запущено и активная часть журнала, насколько я понял, многотерабайтная, то recovery будет длиться ооочень дооолго.
Первая фаза это Analysis - порстроение DPT (Durty Pages Table) и ATT (Active Transactions Table)
Потом будет Redo, затем Undo.
На фазе Undo может опять случится переполнение ЖТ и restore завершится неудачей.

Так что запасайтесь терпением.


А вот скажите, если если версия БД (уровень патча) отличается между бекапом и текущем -- на каком этапе будет применяться патч и восстановленной базе ?
2 июн 16, 19:02    [19251677]     Ответить | Цитировать Сообщить модератору
 Re: Превратности администрирования SQL Server  [new]
invm
Member

Откуда: Москва
Сообщений: 9683
a_voronin
А вот скажите, если если версия БД (уровень патча) отличается между бекапом и текущем -- на каком этапе будет применяться патч и восстановленной базе ?
Если имеете в виду конвертацию версии БД в более новую, то после восстановления.
2 июн 16, 19:09    [19251697]     Ответить | Цитировать Сообщить модератору
 Re: Превратности администрирования SQL Server  [new]
a_voronin
Member

Откуда: Москва
Сообщений: 4813
Бекап прошел и выдал ошибку

2016-06-02 19:45:57.19 spid52 FlushCache: cleaned up 3514832 bufs with 302427 writes in 134956 ms (avoided 0 new dirty bufs) for db 8:0
2016-06-02 19:45:57.19 spid52 average writes per second: 2240.93 writes/sec
average throughput: 203.47 MB/sec, I/O saturation: 174002, context switches 259887
2016-06-02 19:45:57.19 spid52 last target outstanding: 20480, avgWriteLatency 0
2016-06-02 19:46:13.61 spid52 Starting up database 'ABC'.
2016-06-02 19:46:53.81 spid40s restoreHkDatabase: DbId 8, Msg 41313, Level 16, State 1, The C compiler encountered a failure. The exit code was 2.
2016-06-02 19:46:53.81 spid40s [ERROR] Database ID: [8] 'ABC'. Failed to load XTP checkpoint. Error code: 0x82000009. (d:\b\s2\sources\sql\ntdbms\hekaton\sqlhost\sqlmin\hkhostdb.cpp : 3126 - 'RecoverHkDatabase')

База в In Recovery

Перевели EMERGENCY -> OFFLINE -> ONLINE -> DBCC CHECKDB вроде очухалась


2016-06-02 20:15:50.71 spid90 Configuration option 'max server memory (MB)' changed from 245000 to 200000. Run the RECONFIGURE statement to install.
2016-06-02 20:15:50.98 spid90 SQL Server has encountered 1 occurrence(s) of cachestore flush for the 'Object Plans' cachestore (part of plan cache) due to some database maintenance or reconfigure operations.
2016-06-02 20:15:51.69 spid90 SQL Server has encountered 1 occurrence(s) of cachestore flush for the 'SQL Plans' cachestore (part of plan cache) due to some database maintenance or reconfigure operations.
2016-06-02 20:15:51.73 spid90 SQL Server has encountered 1 occurrence(s) of cachestore flush for the 'Bound Trees' cachestore (part of plan cache) due to some database maintenance or reconfigure operations.
2016-06-02 20:25:49.42 spid52 0 transactions rolled back in database 'ABC' (8:0). This is an informational message only. No user action is required.
2016-06-02 20:25:49.42 spid52 Recovery is writing a checkpoint in database 'ABC' (8). This is an informational message only. No user action is required.
2016-06-02 20:25:51.24 spid52 Recovery completed for database ABC (database ID 8) in 216 second(s) (analysis 5000 ms, redo 73 ms, undo 208661 ms.) This is an informational message only. No user action is required.
2016-06-02 20:25:54.00 spid52 Synchronize Database 'ABC' (8) with Resource Database.
2016-06-02 20:25:55.89 spid52 [INFO] HkCheckpointCtxtImpl::StartOfflineCkpt(): Database ID: [8]. Starting offline checkpoint worker thread on a hidden SOS scheduler.
2016-06-02 20:27:31.81 spid52 1 transactions rolled forward in database 'ABC' (23:0). This is an informational message only. No user action is required.
2016-06-02 20:27:32.05 spid52 0 transactions rolled back in database 'ABC' (23:0). This is an informational message only. No user action is required.
2016-06-02 20:27:33.92 spid52 Recovery completed for database ABC (database ID 23) in 7 second(s) (analysis 5329 ms, redo 18 ms, undo 70 ms.) This is an informational message only. No user action is required.
2016-06-02 20:28:54.75 spid94 Configuration option 'max server memory (MB)' changed from 200000 to 248000. Run the RECONFIGURE statement to install.
2016-06-02 20:28:54.76 spid94 SQL Server has encountered 1 occurrence(s) of cachestore flush for the 'Object Plans' cachestore (part of plan cache) due to some database maintenance or reconfigure operations.
2016-06-02 20:28:54.77 spid94 SQL Server has encountered 1 occurrence(s) of cachestore flush for the 'SQL Plans' cachestore (part of plan cache) due to some database maintenance or reconfigure operations.
2016-06-02 20:28:54.77 spid94 SQL Server has encountered 1 occurrence(s) of cachestore flush for the 'Bound Trees' cachestore (part of plan cache) due to some database maintenance or reconfigure operations.
2016-06-02 20:29:24.73 spid29s [INFO] Database ID: [10]. Hardened root content for checkpoint timestamp 0x001271f5.
2016-06-02 20:29:24.73 spid25s [INFO] HkHostLogCheckpointRecord(): Database ID: [10]. Logged XTP checkpoint (v4) for timestamp 1208821, serialize timestamp 1208823: { Root ==> GUIDs = { Rowset {DA0EAECD-A12A-4474-B9D6-2648AA07D562}, Column {0BC1A1A4-92D2-4D59-8009-53E5944C9B44} }, Recovery LSN = 000E6CFB:0005B37A:016A, Previous complete checkpoint LSN = 000E6CFB:0005B547:004C, Close LSN = 000E6CFD:000665DD:0003, Complete LSN = 000E6CFD:00066631:0009, Root LSN = 000E6CFD:000665DD:0002, MRT LSN = 00000000:00000000:0000, Delta Watermark LSN = 00000000:00000000:0000, Backup File Collection LSN = 000E6CFD:00066631:0008 }
2016-06-02 20:30:54.87 spid35s [INFO] Database ID: [10]. Hardened root content for checkpoint timestamp 0x001271fc.
2016-06-02 20:30:54.87 spid25s [INFO] HkHostLogCheckpointRecord(): Database ID: [10]. Logged XTP checkpoint (v4) for timestamp 1208828, serialize timestamp 1208831: { Root ==> GUIDs = { Rowset {DA0EAECD-A12A-4474-B9D6-2648AA07D562}, Column {0BC1A1A4-92D2-4D59-8009-53E5944C9B44} }, Recovery LSN = 000E6CFD:00066580:0003, Previous complete checkpoint LSN = 000E6CFD:00066631:0009, Close LSN = 000E6CFE:0012A692:0002, Complete LSN = 000E6CFE:0012A71A:0006, Root LSN = 000E6CFE:0012A692:0001, MRT LSN = 000E6CFE:0012A6B5:00E2, Delta Watermark LSN = 00000000:00000000:0000, Backup File Collection LSN = 000E6CFE:0012A71A:0003 }
2016-06-02 20:31:19.87 spid44s [INFO] Database ID: [6]. Hardened root content for checkpoint timestamp 0x0001e693.
2 июн 16, 21:09    [19252050]     Ответить | Цитировать Сообщить модератору
 Re: Превратности администрирования SQL Server  [new]
a_voronin
Member

Откуда: Москва
Сообщений: 4813
Есть предположение, что после восстановления бекапа сервер не смог выделить память под InMemeory группу.
2 июн 16, 21:10    [19252056]     Ответить | Цитировать Сообщить модератору
 Re: Превратности администрирования SQL Server  [new]
Mr. X
Guest
a_voronin,

Базу вывели в Online?
На чем основано ваше предположение?
Может все же накатить https://support.microsoft.com/en-us/kb/3167392 ?
Там подружили InMemory и ЖТ.
2 июн 16, 21:45    [19252200]     Ответить | Цитировать Сообщить модератору
 Re: Превратности администрирования SQL Server  [new]
a_voronin
Member

Откуда: Москва
Сообщений: 4813
Mr. X
a_voronin,

Базу вывели в Online?
На чем основано ваше предположение?
Может все же накатить https://support.microsoft.com/en-us/kb/3167392 ?
Там подружили InMemory и ЖТ.



Потому что подняли её после вот этих танцев с бубном

'max server memory (MB)' changed from 245000 to 200000.
Configuration option 'max server memory (MB)' changed from 200000 to 248000.
3 июн 16, 11:21    [19253660]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить