Не отвечает база MS SQL

Не отвечает база MS SQL

Взята цитата с форума сисадминов
http://sysadmins.ru/topic440162.html

leoit
Новичок

СообщениеДобавлено: Чт 28 Май, 2015 17:37 Заголовок сообщения: Ответить с цитатой
Magic_Ex писал(а):
Базу необходимо перевести в emergency и прочекать с помощью checkdb
Писал когда-то себе такую памятку
Код:

Сбросить статус suspicious:
EXEC sp_resetstatus [DBNAME];
Поставить в аварийный режим:
ALTER DATABASE [DBNAME] SET EMERGENCY
Проверить базу. Если все хорошо — можно переводить в мультиюзер:
DBCC checkdb([DBNAME])
Если не все хорошо и есть ошибки — ставим базу в сингл юзер:
ALTER DATABASE [DBNAME] SET SINGLE_USER WITH ROLLBACK IMMEDIATE
Исправление с возможностью потери данных (другие флаги можно погуглить)
DBCC CheckDB ([DBNAME], REPAIR_ALLOW_DATA_LOSS)
Если checkdb успешно исправила ошибки — ставим в мульти юзер режим:
ALTER DATABASE [DBNAME] SET MULTI_USER

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

Подскажите если не трудно куда вводить данные команды?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
NotAvailable
подпись на выбор, в личку sklifу

Зарегистрирован: 24.10.2008
Пользователь #: 72,497
Сообщения: 22607
Откуда: Народная Республика Жмеринка (NRJ)
Репутация: 288.8 Добавь репутацию, если тебе помоглиСними репутацию если пользователь неадекватен
Голоса: 130

СообщениеДобавлено: Чт 28 Май, 2015 23:53 Заголовок сообщения: Ответить с цитатой
leoit писал(а):
Magic_Ex писал(а):
Базу необходимо перевести в emergency и прочекать с помощью checkdb
Писал когда-то себе такую памятку
Код:

Сбросить статус suspicious:
EXEC sp_resetstatus [DBNAME];
Поставить в аварийный режим:
ALTER DATABASE [DBNAME] SET EMERGENCY
Проверить базу. Если все хорошо — можно переводить в мультиюзер:
DBCC checkdb([DBNAME])
Если не все хорошо и есть ошибки — ставим базу в сингл юзер:
ALTER DATABASE [DBNAME] SET SINGLE_USER WITH ROLLBACK IMMEDIATE
Исправление с возможностью потери данных (другие флаги можно погуглить)
DBCC CheckDB ([DBNAME], REPAIR_ALLOW_DATA_LOSS)
Если checkdb успешно исправила ошибки — ставим в мульти юзер режим:
ALTER DATABASE [DBNAME] SET MULTI_USER

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

Подскажите если не трудно куда вводить данные команды?

Вы бы хоть что-то сами почитали.
в Management Studio выбрать Создать запрос и вставить:

Код:
EXEC sp_resetstatus [DBNAME];
/* Поставить в аварийный режим: */
ALTER DATABASE [DBNAME] SET EMERGENCY
/* Проверить базу. Если все хорошо — можно переводить в мультиюзер: */
DBCC checkdb([DBNAME])
/* Если не все хорошо и есть ошибки — ставим базу в сингл юзер: */
ALTER DATABASE [DBNAME] SET SINGLE_USER WITH ROLLBACK IMMEDIATE
/* Исправление с возможностью потери данных (другие флаги можно погуглить) */
DBCC CheckDB ([DBNAME], REPAIR_ALLOW_DATA_LOSS)
/* Если checkdb успешно исправила ошибки — ставим в мульти юзер режим: */
ALTER DATABASE [DBNAME] SET MULTI_USER

изменив DBNAME на имя вашей базы.

ЗЫ: сохраните затем себе этот запрос, он еще может пригодиться.
_________________
Defying Gravity
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
leoit
Новичок

Запись опубликована в рубрике SQL с метками . Добавьте в закладки постоянную ссылку.

Добавить комментарий

Войти с помощью: 

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.