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

Откуда:
Сообщений: 7
Здравствуйте!

Внезапно заметили что бекапы уже не делаются как 2 недели. Полезли смотреть логи Effector saver (через нее выполняем ежедневный бекап). Вот что там написано:
+
Невозможно вставить запись журнала, подробную запись резервного копирования или восстановления в базу данных msdb. Это может указывать на неполадки с базой данных msdb. Операция резервного копирования или восстановления завершилась успешно.
SQL Server обнаружил логическую ошибку ввода-вывода, связанную с согласованностью: неверный идентификатор страницы (ожидаемый 1:777; фактический 1:4736). Она произошла при прочитать страницы (1:777) в базе данных с идентификатором 4 по смещению 0x00000000612000 файла "C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\MSDBData.mdf".

Как он и предлагает, выполнил запрос
DBCC CHECKDB ('msdb', REPAIR_REBUILD) WITH NO_INFOMSGS

И вот его результат:
+
Сообщение 8909, уровень 16, состояние 1, строка 1
Ошибка таблицы: идентификатор объекта 0, идентификатор индекса -1, идентификатор секции 0, идентификатор единицы размещения 187191279878144 (тип Unknown), идентификатор страницы (1:777) содержит неправильный идентификатор страницы в заголовке страницы. PageId в заголовке страницы = (1:4736).
Уровень исправлений для данной инструкции DBCC вызвал обход данного исправления.
CHECKDB обнаружил 0 ошибок размещения и 1 ошибок согласованности, не связанных ни с одним объектом.
Сообщение 8928, уровень 16, состояние 1, строка 1
Идентификатор объекта 1858105660, идентификатор индекса 1, идентификатор секции 72057594042777600, идентификатор единицы размещения 72057594047168512 (тип In-row data): не удалось обработать страницу (1:777). Для получения подробных сведений просмотрите сообщения о других ошибках.
Уровень исправлений для данной инструкции DBCC вызвал обход данного исправления.
Сообщение 8976, уровень 16, состояние 1, строка 1
Ошибка таблицы: идентификатор объекта 1858105660, идентификатор индекса 1, идентификатор секции 72057594042777600, идентификатор единицы размещения 72057594047168512 (тип In-row data). Страница (1:777) не была обнаружена при просмотре, хотя ее родитель (1:449) и предыдущая страница (1:776) ссылаются на нее. Проверьте предыдущие ошибки.
Для исправления данной ошибки необходимо сначала исправить другие ошибки.
CHECKDB обнаружил 0 ошибок размещения и 2 ошибок согласованности в таблице "backupmediaset" (идентификатор объекта 1858105660).
CHECKDB обнаружил 0 ошибок размещения и 3 ошибок согласованности в базе данных "msdb".
repair_allow_data_loss - это минимальный уровень исправления для ошибок, найденных DBCC CHECKDB (msdb, repair_rebuild).


Прошу помощи: что случилось и как жить с этим дальше. База кстати для 1С, и никаких проблем с работой пока не наблюдается (кроме отсутствия возможности делать бекапы)
11 фев 20, 17:43    [22077809]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при попытке резервного копирования MS SQL 2005  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 30415
pwflamy
Прошу помощи: что случилось и как жить с этим дальше. База кстати для 1С, и никаких проблем с работой пока не наблюдается (кроме отсутствия возможности делать бекапы)
База msdb - служебная, в ней хранятся всякие расписания джобов, алерты, и т.п.

Так что первое, что вам нужно сделать - убедиться, что из за проблем с msdb не прекратили делаться бакапы 1С

А с msdb есть 2 варианта:
1) попробовать восстановить её, используя CHECKDB с repair_allow_data_loss (но база может испортиться)
или
2) заскриптовать всё полезное из msdb, потом заменить её на исправную (от другой установки той же версии сиквела), и восстановить из скриптов.
Конечно, перед (1) рекомендуется сделать скрипты

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

Сообщение было отредактировано: 11 фев 20, 17:56
11 фев 20, 17:55    [22077817]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при попытке резервного копирования MS SQL 2005  [new]
pwflamy
Member

Откуда:
Сообщений: 7
Спасибо за ответ.
alexeyvg
pwflamy
Прошу помощи: что случилось и как жить с этим дальше. База кстати для 1С, и никаких проблем с работой пока не наблюдается (кроме отсутствия возможности делать бекапы)
База msdb - служебная, в ней хранятся всякие расписания джобов, алерты, и т.п.

Так что первое, что вам нужно сделать - убедиться, что из за проблем с msdb не прекратили делаться бакапы 1С

бекапы через конфигуратор делаются
alexeyvg

А с msdb есть 2 варианта:
1) попробовать восстановить её, используя CHECKDB с repair_allow_data_loss (но база может испортиться)
или
2) заскриптовать всё полезное из msdb, потом заменить её на исправную (от другой установки той же версии сиквела), и восстановить из скриптов.
Конечно, перед (1) рекомендуется сделать скрипты

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

Вы имеете в виду про "джобах, алертах, отправки почты и т.п." в management studio? Там ничего не изменялось со времен создания базы. У нас есть бекап сервера, можно развернуть его и сделать бекап msdb, так получится?
12 фев 20, 09:35    [22077997]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при попытке резервного копирования MS SQL 2005  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 30415
pwflamy
Вы имеете в виду про "джобах, алертах, отправки почты и т.п." в management studio?
Например, в ней.
Всё это находится на сервере, в базе данных msdb, а SSMS (management studio) просто это может показать на экране.

pwflamy
Там ничего не изменялось со времен создания базы.
Получается, у вас вообще ничего своего нет из "джобах, алертах, отправки почты и т.п."? Тогда вообще не проблема.

pwflamy
У нас есть бекап сервера, можно развернуть его и сделать бекап msdb, так получится?
Непонятно, что вы имеете в виду.
Бакап диска?
Это зависит от того, будет ли работоспособен сервер после восстановления бакапа диска:-)
Не всегда получается восстановить. Нужно хотя бы попробовать.

У MSSQL есть своя система бакапов (как раз та самая, которая вам пишет ошибки), я предпочитаю пользоваться ей. Я изначально имел в виду взять базу msdb из того сиквельного бакапа, который вы делали, и восстановить. Но можно попробовать взять какой то другой бакап.


PS Вообще, рискованно не иметь специалиста хотя бы для таких важных вещей, как резервное копирование, как бы не пришлось вводить заново первичку... Впрочем, если у вас есть собственный бакап 1С, то, наверное, его достаточно. Но его тоже нужно проверять, как любой бакап.
12 фев 20, 09:57    [22078012]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при попытке резервного копирования MS SQL 2005  [new]
pwflamy
Member

Откуда:
Сообщений: 7
alexeyvg
pwflamy
Вы имеете в виду про "джобах, алертах, отправки почты и т.п." в management studio?
Например, в ней.
Всё это находится на сервере, в базе данных msdb, а SSMS (management studio) просто это может показать на экране.

pwflamy
Там ничего не изменялось со времен создания базы.
Получается, у вас вообще ничего своего нет из "джобах, алертах, отправки почты и т.п."? Тогда вообще не проблема.

pwflamy
У нас есть бекап сервера, можно развернуть его и сделать бекап msdb, так получится?
Непонятно, что вы имеете в виду.
Бакап диска?
Это зависит от того, будет ли работоспособен сервер после восстановления бакапа диска:-)
Не всегда получается восстановить. Нужно хотя бы попробовать.

У MSSQL есть своя система бакапов (как раз та самая, которая вам пишет ошибки), я предпочитаю пользоваться ей. Я изначально имел в виду взять базу msdb из того сиквельного бакапа, который вы делали, и восстановить. Но можно попробовать взять какой то другой бакап.


PS Вообще, рискованно не иметь специалиста хотя бы для таких важных вещей, как резервное копирование, как бы не пришлось вводить заново первичку... Впрочем, если у вас есть собственный бакап 1С, то, наверное, его достаточно. Но его тоже нужно проверять, как любой бакап.

У нас делается 2 вида бекапов: средствами sql и полный бекап виртуальной машины сервера (средствами proxmox). Только вот средствами sql делается бекап только рабочей базы, системные базы не включаются.
12 фев 20, 10:08    [22078023]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при попытке резервного копирования MS SQL 2005  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 30415
pwflamy
Только вот средствами sql делается бекап только рабочей базы, системные базы не включаются.
Нет, средствами SQL вы делаете бакап как минимум одной системной базы. MSDB - системная база.
pwflamy
полный бекап виртуальной машины сервера (средствами proxmox)
Можно попробовать восстановить этот бакап (на какую то другую машину), и взять оттуда msdb (2 файла - mdf и ldf); или, если это возможно, выковырять эти файлы из бакапа, без восстановления. Конечно, на тот момент времени, когда ошибки ещё не было.
И потом подменить текущие файлы msdb нормальными (остановив сиквел).
12 фев 20, 10:22    [22078032]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при попытке резервного копирования MS SQL 2005  [new]
pwflamy
Member

Откуда:
Сообщений: 7
alexeyvg
pwflamy
Только вот средствами sql делается бекап только рабочей базы, системные базы не включаются.
Нет, средствами SQL вы делаете бакап как минимум одной системной базы. MSDB - системная база.

Как восстановить из копии виртуалки понятно, а как восстановить тогда из скульного бекапа? Я правда уже говорил, но скульный бекап делает сторонняя программа Effector Saver, в ней указана база рабочая, не знаю сохраняет ли она автоматом msdb
12 фев 20, 10:31    [22078041]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при попытке резервного копирования MS SQL 2005  [new]
Yasha123
Member

Откуда:
Сообщений: 1823
pwflamy
Только вот средствами sql делается бекап только рабочей базы, системные базы не включаются.

это круто.
а теперь представьте, что не мсдб, а мастер полетел.
---
я так понимаю, и чекдб для служебных баз вы тоже регулярно не делаете?
12 фев 20, 11:11    [22078070]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при попытке резервного копирования MS SQL 2005  [new]
Yasha123
Member

Откуда:
Сообщений: 1823
pwflamy

Как восстановить из копии виртуалки понятно, а как восстановить тогда из скульного бекапа? Я правда уже говорил, но скульный бекап делает сторонняя программа Effector Saver, в ней указана база рабочая, не знаю сохраняет ли она автоматом msdb

сначала убедитесь, что бэкапы мсдб вообще делались.
если вот это ничего не вернет, то и не делались вовсе:
select *
from msdb..backupset
where database_name = 'msdb'
12 фев 20, 11:17    [22078077]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при попытке резервного копирования MS SQL 2005  [new]
pwflamy
Member

Откуда:
Сообщений: 7
Yasha123
сначала убедитесь, что бэкапы мсдб вообще делались.
если вот это ничего не вернет, то и не делались вовсе:
select *
from msdb..backupset
where database_name = 'msdb'


Запрос пустой
12 фев 20, 11:19    [22078079]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при попытке резервного копирования MS SQL 2005  [new]
pwflamy
Member

Откуда:
Сообщений: 7
Yasha123

это круто.
а теперь представьте, что не мсдб, а мастер полетел.

Для этого делается ежедневный бекап сервера.
Yasha123

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

Не делаем
12 фев 20, 11:20    [22078083]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при попытке резервного копирования MS SQL 2005  [new]
Yasha123
Member

Откуда:
Сообщений: 1823
pwflamy
Yasha123
сначала убедитесь, что бэкапы мсдб вообще делались.
если вот это ничего не вернет, то и не делались вовсе:
select *
from msdb..backupset
where database_name = 'msdb'


Запрос пустой

ну вот и ответ на ваш вопрос о восстановлении.
нет бэкапа -- никак не восстановить.
---
теперь попробуйте чекдб с repair_allow_data_loss.
для этого мсдб придется переводить в сингл юзер.
12 фев 20, 11:21    [22078085]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при попытке резервного копирования MS SQL 2005  [new]
Yasha123
Member

Откуда:
Сообщений: 1823
перед этим забэкапьте мсдб,
ну или в оффлайн его и файлы скопируйте, затем обратно онлайн.
а то мало ли что у вас пропадет после repair_allow_data_loss
12 фев 20, 11:23    [22078086]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при попытке резервного копирования MS SQL 2005  [new]
Ролг Хупин
Member

Откуда: Чебаркуль
Сообщений: 3411
pwflamy
Здравствуйте!

Внезапно заметили что бекапы уже не делаются как 2 недели. Полезли смотреть логи Effector saver (через нее выполняем ежедневный бекап). Вот что там написано:
+
Невозможно вставить запись журнала, подробную запись резервного копирования или восстановления в базу данных msdb. Это может указывать на неполадки с базой данных msdb. Операция резервного копирования или восстановления завершилась успешно.
SQL Server обнаружил логическую ошибку ввода-вывода, связанную с согласованностью: неверный идентификатор страницы (ожидаемый 1:777; фактический 1:4736). Она произошла при прочитать страницы (1:777) в базе данных с идентификатором 4 по смещению 0x00000000612000 файла "C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\MSDBData.mdf".

Как он и предлагает, выполнил запрос
DBCC CHECKDB ('msdb', REPAIR_REBUILD) WITH NO_INFOMSGS

И вот его результат:
+
Сообщение 8909, уровень 16, состояние 1, строка 1
Ошибка таблицы: идентификатор объекта 0, идентификатор индекса -1, идентификатор секции 0, идентификатор единицы размещения 187191279878144 (тип Unknown), идентификатор страницы (1:777) содержит неправильный идентификатор страницы в заголовке страницы. PageId в заголовке страницы = (1:4736).
Уровень исправлений для данной инструкции DBCC вызвал обход данного исправления.
CHECKDB обнаружил 0 ошибок размещения и 1 ошибок согласованности, не связанных ни с одним объектом.
Сообщение 8928, уровень 16, состояние 1, строка 1
Идентификатор объекта 1858105660, идентификатор индекса 1, идентификатор секции 72057594042777600, идентификатор единицы размещения 72057594047168512 (тип In-row data): не удалось обработать страницу (1:777). Для получения подробных сведений просмотрите сообщения о других ошибках.
Уровень исправлений для данной инструкции DBCC вызвал обход данного исправления.
Сообщение 8976, уровень 16, состояние 1, строка 1
Ошибка таблицы: идентификатор объекта 1858105660, идентификатор индекса 1, идентификатор секции 72057594042777600, идентификатор единицы размещения 72057594047168512 (тип In-row data). Страница (1:777) не была обнаружена при просмотре, хотя ее родитель (1:449) и предыдущая страница (1:776) ссылаются на нее. Проверьте предыдущие ошибки.
Для исправления данной ошибки необходимо сначала исправить другие ошибки.
CHECKDB обнаружил 0 ошибок размещения и 2 ошибок согласованности в таблице "backupmediaset" (идентификатор объекта 1858105660).
CHECKDB обнаружил 0 ошибок размещения и 3 ошибок согласованности в базе данных "msdb".
repair_allow_data_loss - это минимальный уровень исправления для ошибок, найденных DBCC CHECKDB (msdb, repair_rebuild).


Прошу помощи: что случилось и как жить с этим дальше. База кстати для 1С, и никаких проблем с работой пока не наблюдается (кроме отсутствия возможности делать бекапы)


"Она произошла при прочитать страницы (1:777) в базе" - сервер чего-то недоговаривает!
12 фев 20, 11:49    [22078106]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при попытке резервного копирования MS SQL 2005  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 30415
pwflamy
alexeyvg
пропущено...
Нет, средствами SQL вы делаете бакап как минимум одной системной базы. MSDB - системная база.

Как восстановить из копии виртуалки понятно, а как восстановить тогда из скульного бекапа? Я правда уже говорил, но скульный бекап делает сторонняя программа Effector Saver, в ней указана база рабочая, не знаю сохраняет ли она автоматом msdb
Вот интересно, зачем вам эта "сторонняя программа Effector Saver", если невозможно ни восстановить, ни посмотреть отчёт по сделанным бакапам???
Узнавайте у админов, начальства и т.п.
12 фев 20, 22:08    [22078823]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при попытке резервного копирования MS SQL 2005  [new]
pwflamy
Member

Откуда:
Сообщений: 7
alexeyvg
Вот интересно, зачем вам эта "сторонняя программа Effector Saver", если невозможно ни восстановить, ни посмотреть отчёт по сделанным бакапам???
Узнавайте у админов, начальства и т.п.

Затем, что у нее есть отчеты. И там явно выбирается бд, однако все с такой уверенностью говорили про одновременный бекап и msdb, что я и допустил возможность автоматического бекапа системных баз. К тому же она вместе с бекапом скуля, делает бекап конфигурации 1С.

По ответам спасибо, в пятницу будем пробовать

Сообщение было отредактировано: 13 фев 20, 10:11
13 фев 20, 10:12    [22079008]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при попытке резервного копирования MS SQL 2005  [new]
Yasha123
Member

Откуда:
Сообщений: 1823
pwflamy

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

все это кто? или где?
в этом топике кроме вас всего двое,
и мы оба ставили под сомнение наличие у вас бэкапов мсдб.
более того, вам уже рекомендовали прямо сейчас настроить резервное копирование системных баз,
а заодно и чекдб всего, включая системные базы
13 фев 20, 11:31    [22079083]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить