База данных SQL Server «Подозреваемый»?

40

Что вы делаете, когда у вас есть база данных, помеченная как Suspect?

Восстановить из последней резервной копии?

Пожалуйста, порекомендуйте.

db7
источник

Ответы:

41

Прежде всего, убедитесь, что вы НЕ отсоединяете эту базу данных.

Восстановление из последней известной резервной копии в порядке. В противном случае вам нужно будет использовать режим аварийного восстановления (я предполагаю, что вы используете SQL 2005 или выше). Вот пара постов от Пола Рэндала на эту тему. Прочитайте их оба, прежде чем начать предпринимать какие-либо действия.

Создание, отсоединение, повторное присоединение и исправление базы данных SUSPECT

Аварийно-восстановительный режим: самое последнее средство

SQLRockstar
источник
5

В значительной степени да.

Как правило, это означает, что файлы повреждены или отсутствуют, или ошибка диска или что-то подобное (я видел, что причиной этого был плохой сектор).

Мои шаги:

  • Убедитесь, что все резервные копии есть
  • Завершите работу SQL Server
  • chkdsk диски, используемые SQL Server (надеюсь, не ваш C: конечно)

Изменить: я уточню свой ответ

  • если данные важны, у меня будет резервная копия
  • время простоя пока возиться с ремонтом и аварийным режимом слишком долго для меня
ГБН
источник
5

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

yrushka
источник
5
Так вот в чем дело: Stack Exchange не работает, если все, что вы публикуете, это ссылки. Нам нужно, чтобы вы подвели итоги содержания в ссылках, или я просто буду вынужден удалить ваш ответ (и тогда вы потеряете представителя, и никто из нас не хочет, чтобы это произошло)
jcolebrand
4

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

StanleyJohns
источник
5
Но вы потеряете данные, если у вас нет журналов транзакций.
Мрденный
0

Мой первый совет: никогда не отсоединяйте подозрительную базу данных. Восстановление базы данных из обновленной резервной копии полезно. Если резервная копия недоступна или возникла проблема, EMERGENCYрежим может быть полезен:

Установить базу данных в аварийный режим:

ALTER DATABASE DB_NAME SET EMERGENCY

Теперь проверьте несоответствия базы данных с этим:

DBCC CHECKDB (‘DB_NAME’)

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

Также проверьте ссылку 1 и ссылку 2

Приянка
источник