Автор Тема: Ошибка в базе sql  (Прочитано 7858 раз)

0 Пользователей и 2 Гостей просматривают эту тему.

Онлайн Triangle

  • Модераторы
  • Олдфаг
  • *****
  • Сообщений: 7128
  • Рейтинг: 48
  • Пол: Мужской
  • Откуда: замкадыш
Ошибка в базе sql
« : 03 апреля 2018, 12:13:13 »
Что делал, таскал файлы базы между разными дисками, все остальные на ура, одна выдала мне козью морду

DBCC CHECKDB (N'bp', REPAIR_REBUILD)WITH NO_INFOMSGS

Сообщение 7985, уровень 16, состояние 2, строка 1
Предварительная проверка системных таблиц: объект с идентификатором 3. Не удалось прочитать страницу (1:323504) и заблокировать ее кратковременной блокировкой типа SH. Инструкция проверки прервана из-за неустранимой ошибки.
Сообщение 5256, уровень 16, состояние 1, строка 1
Ошибка таблицы: идентификатор единицы размещения 0, страница (1:323504) содержит неправильный идентификатор страницы в ее заголовке. PageId в заголовке страницы равен (0:0).
CHECKDB обнаружил 0 ошибок размещения и 1 ошибок согласованности, не связанных ни с одним объектом.
CHECKDB обнаружил 0 ошибок размещения и 1 ошибок согласованности в базе данных "bp".

Ну ладно, хрен с ним, давайте восстановимся из бэкапа.

Действие Восстановить завершилось неудачно для объекта "Сервер" "MSK-01-DB-05".  (Microsoft.SqlServer.SmoExtended)
При выполнении инструкции или пакета Transact-SQL возникло исключение. (Microsoft.SqlServer.ConnectionInfo)
Ошибка при попытке выборки логической страницы (1:345360) в базе данных 10. Она принадлежит единице распределения 0, а не 281474979397632. (Microsoft SQL Server, ошибка: 605)
« Последнее редактирование: 03 апреля 2018, 12:27:23 от Triangle »
Тетрис научил нас жизненно важному пониманию, успехи исчезают, ошибки накапливаются.

Оффлайн airdwarf

  • Постоялец
  • ***
  • Сообщений: 371
  • Рейтинг: 7
  • Пол: Мужской
    • Просмотр профиля
  • Откуда: Чесслово, нашел, гражданин начальник!
Ошибка в базе sql
« Ответ #1 : 03 апреля 2018, 12:42:27 »
А потому что бэкапы нужно тестировать.

DBCC CHECKDB (N'bp', REPAIR_ALLOW_DATA_LOSS)
Кто чувствует несвободу воли, тот душевнобольной; кто отрицает ее, тот глуп. Один я умный в белом пальто стою красивый.
Вы тут серьёзно отстали от жизни. Админство, саппорт - это уже вчерашний день. Сейчас рулят микросервисная архитектура и continuous integration. Ну еще SAAS, конечно.

Онлайн Triangle

  • Модераторы
  • Олдфаг
  • *****
  • Сообщений: 7128
  • Рейтинг: 48
  • Пол: Мужской
  • Откуда: замкадыш
Ошибка в базе sql
« Ответ #2 : 03 апреля 2018, 12:57:33 »


Сообщение 7985, уровень 16, состояние 2, строка 1
Предварительная проверка системных таблиц: объект с идентификатором 3. Не удалось прочитать страницу (1:323504) и заблокировать ее кратковременной блокировкой типа SH. Инструкция проверки прервана из-за неустранимой ошибки.
Результаты DBCC для "bp".
Сообщение 5233, уровень 16, состояние 5, строка 1
Ошибка таблицы: идентификатор единицы размещения 0, страница (1:323504). Выполнить тест (m_headerVersion == HEADER_7_0) не удалось. Значения равны 0 и 1.
Сообщение 5233, уровень 16, состояние 6, строка 1
Ошибка таблицы: идентификатор единицы размещения 0, страница (1:323504). Выполнить тест ((m_type >= DATA_PAGE && m_type <= UNDOFILE_HEADER_PAGE) || (m_type == UNKNOWN_PAGE && level == BASIC_HEADER)) не удалось. Значения равны 0 и 0.
Сообщение 5233, уровень 16, состояние 7, строка 1
Ошибка таблицы: идентификатор единицы размещения 0, страница (1:323504). Выполнить тест (m_freeData >= PageHeaderOverhead () && m_freeData <= (UINT)PAGESIZE - m_slotCnt * sizeof (Slot)) не удалось. Значения равны 0 и 8192.
CHECKDB обнаружил 0 ошибок размещения и 3 ошибок согласованности, не связанных ни с одним объектом.
CHECKDB обнаружил 0 ошибок размещения и 3 ошибок согласованности в базе данных "bp".


Updated: 03 April 2018, 13:10:38

Вобщем забили, откатились на предыдущий бэкап.


Updated: 03 April 2018, 13:26:40

бэкапы нужно тестировать.
  :pardon: было бы кому этим заниматься, Ну и это разовый случай с невосстановлением пока что. До того всё ОК неоднократно.
« Последнее редактирование: 03 апреля 2018, 13:26:40 от Triangle »
Тетрис научил нас жизненно важному пониманию, успехи исчезают, ошибки накапливаются.

Оффлайн airdwarf

  • Постоялец
  • ***
  • Сообщений: 371
  • Рейтинг: 7
  • Пол: Мужской
    • Просмотр профиля
  • Откуда: Чесслово, нашел, гражданин начальник!
Ошибка в базе sql
« Ответ #3 : 03 апреля 2018, 14:18:16 »

бэкапы нужно тестировать.
  :pardon: было бы кому этим заниматься, Ну и это разовый случай с невосстановлением пока что. До того всё ОК неоднократно.


 :facepalm2:

Может, они и делаются вручную?
Кто чувствует несвободу воли, тот душевнобольной; кто отрицает ее, тот глуп. Один я умный в белом пальто стою красивый.
Вы тут серьёзно отстали от жизни. Админство, саппорт - это уже вчерашний день. Сейчас рулят микросервисная архитектура и continuous integration. Ну еще SAAS, конечно.

Онлайн Triangle

  • Модераторы
  • Олдфаг
  • *****
  • Сообщений: 7128
  • Рейтинг: 48
  • Пол: Мужской
  • Откуда: замкадыш
Ошибка в базе sql
« Ответ #4 : 03 апреля 2018, 14:49:08 »
Делаются они как бы встроенными средствами, ты имеешь в виду что делать restore verifyonly делать ещё?
Тетрис научил нас жизненно важному пониманию, успехи исчезают, ошибки накапливаются.

Оффлайн airdwarf

  • Постоялец
  • ***
  • Сообщений: 371
  • Рейтинг: 7
  • Пол: Мужской
    • Просмотр профиля
  • Откуда: Чесслово, нашел, гражданин начальник!
Ошибка в базе sql
« Ответ #5 : 04 апреля 2018, 22:13:55 »
Именно.
Кто чувствует несвободу воли, тот душевнобольной; кто отрицает ее, тот глуп. Один я умный в белом пальто стою красивый.
Вы тут серьёзно отстали от жизни. Админство, саппорт - это уже вчерашний день. Сейчас рулят микросервисная архитектура и continuous integration. Ну еще SAAS, конечно.