powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Сбой при восстановлении базы
20 сообщений из 20, страница 1 из 1
Сбой при восстановлении базы
    #39922946
Danion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.
Есть база данных в режиме фулл. Иногда на тесте требуется восстановить из бекапа рабочей базы. Обычно связку фулл бекап + дифф. Сегодня попросили на определенное время.
И вот тут при накатке очередного лога за 8 утра, получаю ошибку:
Msg 824, Level 16, State 2, Line 10
SQL Server обнаружил логическую ошибку ввода-вывода, связанную с согласованностью: неверный идентификатор страницы (ожидаемый 1:3105792; фактический 2:0). Она произошла при прочитать страницы (1:3105792) в базе данных с идентификатором 28 по смещению 0x000005ec800000 файла "E:\Data\TEST_DB.mdf". Дополнительные сведения см. в журнале ошибок SQL Server и журнале системных событий. Это серьезная ошибка, которая угрожает целостности базы данных и должна быть немедленно исправлена. Выполните полную проверку базы данных на согласованность (DBCC CHECKDB). Эта ошибка может быть вызвана многими причинами; дополнительные сведения см. в электронной документации по SQL Server.

Делаю проверку рабочей базы - ошибок не обнаружено.
CHECKDB found 0 allocation errors and 0 consistency errors in database 'Prod_DB'.

Из связи фулл + новый ночной дифф восстановление без ошибок. А вот попробовал добавить сегодняшние логи и опять ошибка, теперь на логе в 9 утра
Msg 824, Level 16, State 2, Line 12
SQL Server обнаружил логическую ошибку ввода-вывода, связанную с согласованностью: неверный идентификатор страницы (ожидаемый 1:3105792; фактический 1:3491112). Она произошла при прочитать страницы (1:3105792) в базе данных с идентификатором 29 по смещению 0x000005ec800000 файла "E:\Data\test1234.mdf". Дополнительные сведения см. в журнале ошибок SQL Server и журнале системных событий. Это серьезная ошибка, которая угрожает целостности базы данных и должна быть немедленно исправлена. Выполните полную проверку базы данных на согласованность (DBCC CHECKDB). Эта ошибка может быть вызвана многими причинами; дополнительные сведения см. в электронной документации по SQL Server.

Сломанная рабочая база вроде сама чиниться не может. Так на что больше похоже и что можно сделать? Насколько может быть проблема с созданием бекапа логов (получаются утром битые почему-то)?
...
Рейтинг: 0 / 0
Сбой при восстановлении базы
    #39922978
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
так это скорее ошибка в вашей копии, восстановленной из полного бэкапа, т. е. не оригинал битый, а восстановленная и фулла копия.
рестор данные на диск записал, но их еще никто не читал. а при накате лога какие-то страницы данных были прочитаны и при чтении произошла ошибка
...
Рейтинг: 0 / 0
Сбой при восстановлении базы
    #39922980
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну т. е. если теперь вместо восстановления лога сделать restore with recovery и прогнать чекдб, то эти же страницы выдаст
...
Рейтинг: 0 / 0
Сбой при восстановлении базы
    #39923029
Danion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Yasha123,

Похоже на правду. Проверил вроде бы нормально восстанавливающие фулл+бекап за вчера - есть ошибки. Но прям с ошибками восстановления падало только на 7-8 лог файле.
Прошлый раз checkdb прошел без ошибок, фулл от 2 числа тоже нормальный, текущая база и бекапы из неё сейчас без ошибок, а вот несколько дней 4 утро-5 утро проблемные.
...
Рейтинг: 0 / 0
Сбой при восстановлении базы
    #39923041
Danion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
При этом база на 04.02.2020 01:00 нормальная, на 07:30 уже битая.
На 05.02.2020 01:00 и после 15:00 нормальная, на 08:20 битая.

Жалоб никаких нет, с проблемами не обращались. В ошибках checkdb номера разных объектов. 1С что-ли создают и дропают битые таблицы, и не признаются... Странно как-то.
...
Рейтинг: 0 / 0
Сбой при восстановлении базы
    #39923068
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Danion
1С что-ли создают и дропают битые таблицы, и не признаются...
У сиквела нет команды "создать битую таблицу" :-)
Скорее, это неполадки в дисковой подсистеме. Или баг в Windows/SQL Server
...
Рейтинг: 0 / 0
Сбой при восстановлении базы
    #39923085
Фотография Megabyte
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexeyvg
Danion
1С что-ли создают и дропают битые таблицы, и не признаются...
У сиквела нет команды "создать битую таблицу" :-)

Может к 1С плагинчик написали))
...
Рейтинг: 0 / 0
Сбой при восстановлении базы
    #39923100
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Danion
Проверил вроде бы нормально восстанавливающие фулл+бекап за вчера - есть ошибки.

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

Danion

Но прям с ошибками восстановления падало только на 7-8 лог файле.

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

т.е. скорее всего, если ресторить сейчас тот полный бэкап,
после восстановления которого полезли ошибки, **в другое место(другой диск)**,
то ошибок не будет
...
Рейтинг: 0 / 0
Сбой при восстановлении базы
    #39923194
Danion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Yasha123,

Спасибо всем за ответы!

Сейчас проверяю на текущем тестовом сервере очередные бекапы. Потом проверю на другом сервере бекап при котором были ошибки. Но я несколько раз запускал на тестовом сервере восстановление этой базы на разные даты и время. Каждый раз результат был одиннаковый - если база была с ошибкой, то эта же ошибка и появлялась при следующем ресторе. Если была нормальная, то такой и оставалась. Для проверки восстановил бекапы тоже с логами другой базы с того же прода на "проблемное" время и ошибок не было.
...
Рейтинг: 0 / 0
Сбой при восстановлении базы
    #39923204
Danion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
База хотя бы небольшая, можно быстро проверять восстановление. Бекапы от сегодня фулл+ночной дифф+логи восстановилиссь на тесте без проблем, checkdb ошибок не нашёл.

Восстановил на продуктиве в новую базу "проблемный" бекап от 04.02.2020, опять падает на логе в промежутке 7-8 утра.

Msg 824, Level 16, State 2, Line 11
SQL Server обнаружил логическую ошибку ввода-вывода, связанную с согласованностью: неверный идентификатор страницы (ожидаемый 1:3105792; фактический 0:0). Она произошла при прочитать страницы (1:3105792) в базе данных с идентификатором 16 по смещению 0x000005ec800000 файла 'G:\Data\Test1234.mdf'. Дополнительные сведения см. в журнале ошибок SQL Server и журнале системных событий. Это серьезная ошибка, которая угрожает целостности базы данных и должна быть немедленно исправлена. Выполните полную проверку базы данных на согласованность (DBCC CHECKDB). Эта ошибка может быть вызвана многими причинами; дополнительные сведения см. в электронной документации по SQL Server.

А не может быть проблема в записи\копировании бекапа лога? Бекап создаётся на диск на другом сервере через планы обслуживания, опции проверять чексумму и целостность бекапа включены, но не факт, что проверяет нормально это. Хотя у других баз в это же время проблем нет с бекапами логов.
...
Рейтинг: 0 / 0
Сбой при восстановлении базы
    #39923225
1C Developer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Megabyte
alexeyvg
пропущено...
У сиквела нет команды "создать битую таблицу" :-)

Может к 1С плагинчик написали))


Вы слишком высокого мнения о людях в желтом, ничего подобного они не пишут.

Если Вам интересно как сервер приложений 1С взаимодействует с базой - запустите Profiler и ознакомьтесь.

Но предупреждаю, Ваша жизнь после этого уже никогда не будет прежней, Вам придется научиться с этим жить:(
...
Рейтинг: 0 / 0
Сбой при восстановлении базы
    #39923251
Danion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
1C Developer,

Я верю в коллег:)

Как-то привык, что или база нормальная или битая и начинаются танцы с бубнами: починки с потерей данных\восстановление последнего нормального состояния базы с заливкой данных заново\экспорт данных в другую таблицу.

Текущая ситуация с бекапами прода удивляет: База нормальная - спустя 7 часов - База битая - спустя ещё 10 часов - База нормальная - спустя 8 часов - база битая - спустя 5 часов нормальная. При этом жалоб нет, если бы не запрос на восстановление на определенное время о происходящем и не узнали бы. А вот то, что если сломают на проде что-то ещё, а восстановиться на время может и не удастся - очень плохо. Причём пока не понятно - то ли проблема в базе бывает(бекапы нормально создаёт), то ли база всегда нормальная, а начало часть бекапов битыми делать, но нигде это не отмечает сервер.
...
Рейтинг: 0 / 0
Сбой при восстановлении базы
    #39923259
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Danion
опции проверять чексумму и целостность бекапа включены

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

он же пишет, что неверный чексам у страницы файла данных .
а в бэкапе лога страницы файла лога.
неверные чексамы обнаружил сервер, поднимая эти страницы, чтобы применить изменения из бэкапа лога
...
Рейтинг: 0 / 0
Сбой при восстановлении базы
    #39923477
Danion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Yasha123,

Я уже вообще не понимаю, что творится.

Проверял сегодня ещё раз старые бекапы. Фулл от 02 + дифф от 03. На тесте вчера восстанавливал из этих бекапов и ошибок checkdb не находил. Сегодня из этого же бекапа пробовал на рабочем сервере в новую базу и ошибки были. Восстанавливаю ещё раз на тесте - нормально. Ради проверки восстановил вообще на другой машине с другими дисками - те же ошибки. Проверяю скрипты на тесте и других серверах. Похожие. Пример скрипта:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
USE [master]
RESTORE DATABASE [DB_proverka] FROM  DISK = N'D:\Backup\DB_backup_2020_02_02_010001_3111327.bak' WITH  FILE = 1, 
 MOVE N'DB_prod' TO N'E:\Data\DB_proverka.mdf',  MOVE N'DB_prod_log' TO N'E:\Logs\DB_proverka_log.ldf', NORECOVERY,  NOUNLOAD,  STATS = 5

RESTORE DATABASE [DB_proverka] FROM  DISK = N'D:\Backup\DB_backup_2020_02_03_010001_2897803.bak' WITH  FILE = 1, 
NOUNLOAD, NORECOVERY, STATS = 5

RESTORE DATABASE [DB_proverka] WITH RECOVERY
GO
use [DB_proverka]
DBCC CHECKDB 
GO
use master



На очередной проверке начались ошибки и на тестовом сервере, где до этого было нормально (из всё тех же файлов бекапа).
Но хотя бы уже появились какие-то числа и ссылка на таблицу.
Msg 8998, Level 16, State 2, Line 11
Ошибки на страницах GAM, SGAM или PFS блокируют проверку целостности распределения в базе данных с идентификатором 29 на страницах от (1:3105792) до (1:3113879). Чтобы обнаружить причину, просмотрите другие сообщения об ошибках.
Msg 8909, Level 16, State 1, Line 11
Ошибка в таблице. Объект с идентификатором 2100970611, идентификатором индекса 1, идентификатором секции 72057595576844288, идентификатором единицы распределения 72057595815723008 (тип In-row data), идентификатором страницы (1:3105792) содержит в заголовке страницы неверный идентификатор страницы. PageId в заголовке страницы = (1:3491112).
CHECKDB обнаружил 1 ошибок размещения и 1011 ошибок согласованности в таблице "_Reference83" (идентификатор объекта 2100970611).
CHECKDB обнаружил 2 ошибок размещения и 1011 ошибок согласованности в базе данных "DB_proverka".

Несколько раз восстанавливал после появления и на тесте ошибок - в проверке всё та же таблица. Но этим бекапам уже несколько дней, их явно не менял никто. На тестовый сервер файлы копировал для проверки, но из основного хранилища тоже с ошибками получается. Было упоминание возможных проблем с дисками на сервере, где восстанавливаю, но пробовал уже на абсолютно другую дисковую полку восстанавливать и не помогло.
...
Рейтинг: 0 / 0
Сбой при восстановлении базы
    #39923537
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Danion

Проверял сегодня ещё раз старые бекапы. Фулл от 02 + дифф от 03. На тесте вчера восстанавливал из этих бекапов и ошибок checkdb не находил. Сегодня из этого же бекапа пробовал на рабочем сервере в новую базу и ошибки были

какая-то диверсия на ваших дисках.
вы диски проверяли?
...
Рейтинг: 0 / 0
Сбой при восстановлении базы
    #39923574
Danion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Yasha123,

Проверкой в ОС, для более полной проверки коллеги говорят, что останавливать работу системы нужно. Но как возможная проблема с этими дисками может мешать восстановлению абсолютно на другой машине со своими дисками?
...
Рейтинг: 0 / 0
Сбой при восстановлении базы
    #39923640
Фотография SIMPLicity_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть предположение, что у вас в силу модели отказоустойчивости два сервера сидят на одной базе (одно внешнее хранилище) , но бэкап вы делаете через тот сервер, который в данный момент НЕ является активным. Или используете тулзу, которая снимает копию/бэкап с файла данных, когда он находится НЕ в "безопасном режиме" - т.е. у вас нарушена логическая целостность файла базы данных.

В рамках "Один SQL-Server - Одна СХД (пох#й где это и что это) - БэкапШтатнымиСредствами" такое невозможно (т.к. даже бэкап виртуальной вашины делается в тот момент, когда весь ввод-вывод на диски/СХД завершён,- т.н. "безопасное состояние").

Либо, как Вам писали - см. работоспособность операционной системы, SQL-сервера, СХД ...

PS Может быть ещё и антивирус гадит,- но это скорее из области мистики,- наравне с (почти регулярными по расписанию!) глюками СХД.
...
Рейтинг: 0 / 0
Сбой при восстановлении базы
    #39923714
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Модератор: Bimon SubioПросьба - не удалять это сообщение, ведь все равно, есть копия
Не-не-не, ваши теории заговора несите исключительно на копии, здесь этого бреда не будет.
...
Рейтинг: 0 / 0
Сбой при восстановлении базы
    #39923715
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SIMPLicity_
Есть предположение, что у вас в силу модели отказоустойчивости два сервера сидят на одной базе (одно внешнее хранилище) , но бэкап вы делаете через тот сервер, который в данный момент НЕ является активным. Или используете тулзу, которая снимает копию/бэкап с файла данных, когда он находится НЕ в "безопасном режиме" - т.е. у вас нарушена логическая целостность файла базы данных.

В рамках "Один SQL-Server - Одна СХД (пох#й где это и что это) - БэкапШтатнымиСредствами" такое невозможно (т.к. даже бэкап виртуальной вашины делается в тот момент, когда весь ввод-вывод на диски/СХД завершён,- т.н. "безопасное состояние").
Закусывать вам надо, батенька.
...
Рейтинг: 0 / 0
Сбой при восстановлении базы
    #39924021
Фотография SIMPLicity_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гавриленко Сергей Алексеевич
SIMPLicity_
Есть предположение, что у вас в силу модели отказоустойчивости два сервера сидят на одной базе (одно внешнее хранилище) , но бэкап вы делаете через тот сервер, который в данный момент НЕ является активным. Или используете тулзу, которая снимает копию/бэкап с файла данных, когда он находится НЕ в "безопасном режиме" - т.е. у вас нарушена логическая целостность файла базы данных.

В рамках "Один SQL-Server - Одна СХД (пох#й где это и что это) - БэкапШтатнымиСредствами" такое невозможно (т.к. даже бэкап виртуальной вашины делается в тот момент, когда весь ввод-вывод на диски/СХД завершён,- т.н. "безопасное состояние").
Закусывать вам надо, батенька.


Не знаю что у человека реально стоит и чем он реально пользуется. Всё совершенствуется/меняется. Когда-то бэкап в архив был дивом невиданным, а сейчас мне не хватает всего-навсего механизма для прямого (из SQLServer) обращения к ресурсу за json-ом. О настройке репликации сейчас даже ни кто и не думает. А обрисованная "почти что повторимая" плюха с поломанной (недописанной?) страницей в базе на другие мысли и не наводит. Даже при битой памяти (или загибающемся RAID-контроллере) трудно добиться такой повторяемости, особенно - при нормальном функционировании базы. Насколько я знаю полагаю , при операциях распределения блоков НЕ используется блок операций с плавающей точкой, а относительно свежих (за последние 20 лет) упоминаний о багах с целочисленной арифметикой в процессорах я не помню.
...
Рейтинг: 0 / 0
20 сообщений из 20, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Сбой при восстановлении базы
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]