Не отвечает база 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
Новичок