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). Тут Вам слід створити нову базу для того, щоб дані з відновленої БД скопіювати в нову порожню.