SQL.RU
 client/server technologies
 Главная | Документация | Статьи | Книги | Форум | Блоги | Опросы | Гостевая | Рассылка | Работа | Поиск | FAQ |

Как восстанавливать работоспособность SQL Server, если база данных Tempdb в состоянии Suspect

ПУБЛИКАЦИИ  

По материалам статьи Microsoft: "PRB: How to Recover SQL Server After a Tempdb Database is Marked Suspect"
Информация в этой статье относится к Microsoft SQL Server версиям 7.0 и 2000 (все редакции)

Статья предлагает метод восстановления работоспособности Microsoft SQL Server при повреждении базы данных Tempdb.
Если сервис SQL Server не запускается, потому что база данных Tempdb находится в состоянии Suspect, Вы увидите следующий текст в файле регистрации ошибок SQL Server:

2001-02-08 14:04:07.64 spid1 Clearing tempdb database.
2001-02-08 14:04:07.66 spid1 Creating file e:\MSSQL7\DATA\TEMPDB.MDF.
2001-02-08 14:04:07.87 spid1 Closing file e:\MSSQL7\DATA\TEMPDB.MDF.
2001-02-08 14:04:07.90 spid1 Creating file e:\MSSQL7\DATA\TEMPLOG.LDF.
2001-02-08 14:04:07.97 spid1 Closing file e:\MSSQL7\DATA\TEMPLOG.LDF.
2001-02-08 14:04:08.02 spid1 Opening file e:\MSSQL7\DATA\TEMPDB.MDF.
2001-02-08 14:04:08.03 spid1 Opening file e:\MSSQL7\DATA\TEMPLOG.LDF.
2001-02-08 14:04:08.32 spid1 Closing file e:\MSSQL7\DATA\TEMPDB.MDF.
2001-02-08 14:04:08.34 spid1 Closing file e:\MSSQL7\DATA\TEMPLOG.LDF.
2001-02-08 14:04:08.36 spid1 Starting up database 'tempdb'.
2001-02-08 14:04:08.36 spid1 Opening file e:\MSSQL7\DATA\TEMPDB.MDF.
2001-02-08 14:04:08.39 spid1 Opening file e:\MSSQL7\DATA\TEMPLOG.LDF.
2001-02-08 14:04:08.43 spid1 Bypassing recovery for database 'tempdb' because it is marked SUSPECT.
2001-02-08 14:04:08.47 spid1 Database 'tempdb' cannot be opened. It has been marked SUSPECT by recovery. See the SQL Server errorlog for more information.
2001-02-08 14:04:08.50 spid1 WARNING: problem activating all tempdb files.
2001-02-08 14:04:08.50 spid1 Trying just primary files.
2001-02-08 14:04:08.50 spid1 Database 'tempdb' cannot be opened. It has been marked SUSPECT by recovery. See the SQL Server errorlog for more information.
2001-02-08 14:04:08.50 spid1 Database 'tempdb' cannot be opened. It has been marked SUSPECT by recovery. See the SQL Server errorlog for more information.

ОБРАТИТЕ ВНИМАНИЕ: Есть множество причины перевода сервером базы Tempdb в состояние Suspect, но рассмотрение этих возможных причин выходит за рамки настоящей статьи.

Следуя указанным ниже шагам, Вы сможете создавать новую базу данных Tempdb, после чего, станет возможен успешный запуск сервиса SQL Server.
Если файлы Tempdb.mdf и Templog.ldf существуют, переименуйте их. Если файлы не существуют, это является одной из возможных причин состояния Suspect.
Запустите SQL Server из командной строки со следующими параметрами:

sqlservr -c -f -T3608 -T4022

При использовании SQL Server 2000, Вы должны добавить дополнительный параметр -s.

ОБРАТИТЕ ВНИМАНИЕ: Убедитесь, что окно, в котором были набраны команды, остаётся открытым после запуска SQL Server. Закрытие этого окна приведёт к окончанию работы сервиса SQL Server.

Подсоединитесь к серверу, используя Query Analyzer, и затем исполните следующую хранимую процедуру, которая сбросит состояние базы данных Tempdb.

exec master..sp_resetstatus Tempdb

Завершите работу сервера баз данных, нажав в его окне сочетание клавиш CTRL+C.
Перезапустите SQL Server. Это создает новый набор файлов базы данных Tempdb, и восстановит её работоспособность.

Для дополнительной информации обратитесь к следующим статьям Microsoft Knowledge Base и Books Online:
Q277272 BUG: Trace Flags 3607, 3608, 3609 Omitted from Documentation in SQL Server 7.0 and 2000
SQL Server 2000 Books Online; topic: "How to start a named instance of SQL Server (Command Prompt)"
SQL Server 2000 Books Online; topic: "SQL Server Startup Options"

Перевод: Александр Гладченко  2001г.

Rambler's Top100 Рейтинг@Mail.ru  Administrator: Обратная связь 
Copyright: SQL.Ru 2000-2013