SQL server 2000

<< Click to Display Table of Contents >>

Navigation:  Руководство администратора > Восстановления базы данных из состояния Suspect >

SQL server 2000

Previous pageReturn to chapter overviewNext page

Проверить находится ли база в состоянии Suspect можно следующим образом: Пуск-Все программы-Microsoft SQL Server-Enterprise manager. Откроется окно SQL Server Enterprise Manager в этом окне раскроется еще одно окно Console root\Microsoft SQL Servers. В данном окне необходимо развернуть пункты так как указано на рисунке (Рис.1).

clip0101

Рис.1

 

Одна из баз будет называется примерно так HoteysoftDB. Возле надписи в скобках будет указано Suspect.

 

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

 

После того как Вы убедились, что Ваша база данных находится в состоянии Suspect, необходимо зайти в Пуск - Все программы - Microsoft SQL Server - Query Analyzer. Откроется окно (Рис.2)

clip0102

Рис.2

 

Укажите все так как указано на рисунке и нажмите на кнопку ОК. Откроется окно (Рис.3)

clip0103

Рис.3

 

В пустое окно необходимо вставить следующий текст:

use master

go

 

Разрешаем прямое изменение системных таблиц:

sp_configure 'allow updates',1

go

reconfigure with override

go

 

Для сброса признака Suspect выполняем в БД master ХП sp_resetstatus:

sp_resetstatus 'Название Вашей базы данных'

go

 

А теперь запретим прямое изменение системных таблиц:

sp_configure 'allow updates',0

go

reconfigure with override

go

 

После этого статус Suspect должен сброситься.

 

Команды необходимо выполнять поочередно следующим образом:

1) use master

go

2) sp_configure 'allow updates',1

go

reconfigure with override

go

3) sp_resetstatus 'Название Вашей базы данных'

go

4) sp_configure 'allow updates',0

go

reconfigure with override

go

 

Примечание: Приведенные выше команды в окне Query Analyzer необходимо выделить мышью и нажать на кнопку Execute Query. Внизу окна должны появляться информативные сообщения об успешном, либо не успешном выполнении той или иной команды.

 

После этого выполняем следующую команду:

Use master

go

sp_configure 'allow updates', 1

reconfigure with override

go

Далее данную команду:

update sysdatabases set status= 32768 where name = '<Название Вашей базы данных>'

 

После этого следует перезапустить SQL Server (Пуск - Программы - Microsoft SQL Server - Service Manager. В открывшемся окне нажмите на кнопку Stop, затем Start\Continue), База должна перейти в состояние Emergency mode.

 

Дальше выполняем команду:

USE <Название Вашей базы данных>

GO

sp_dboption '<Название Вашей базы данных>', 'single_user', 'true' ЛИБО alter database Название Вашей БД set SINGLE_USER

go

DBCC CHECKDB('<Название Вашей базы данных>', REPAIR_ALLOW_DATA_LOSS)

go

Если все в порядке, то:

sp_dboption '<Название Вашей базы данных>', 'single_user', 'false'

go

Use master

go

sp_configure 'allow updates', 0

go

 

Далее необходимо перейти к SQL Server Enterprise Manager (Рис.1). Тут Вам следует создать новую базу для того, чтобы данные из восстановленной БД скопировать в новую пустую.