Состояния файла

В SQL Server 2005 состояние файла базы данных поддерживается независимо от состояния базы данных. Файл всегда находится в одном определенном состоянии, таком как ONLINE или OFFLINE. Чтобы просмотреть текущее состояние файла, используйте представление каталога sys.master_files или sys.database_files. Если база данных находится в автономном состоянии, то состояние файлов можно просмотреть в представлении каталога sys.master_files.

Состояние файлов в файловой группе определяет доступность всей файловой группы. Чтобы файловая группа была доступна, необходимо, чтобы все файлы в файловой группе находились в оперативном режиме. Чтобы просмотреть текущее состояние файловой группы, используйте представление каталога sys.filegroups. Попытка получить доступ к файловой группе, которая находится в автономном режиме, с помощью инструкции языка Transact-SQL приводит к ошибке. При построении планов запросов для инструкций SELECT оптимизатор запросов избегает некластеризованных индексов и индексированных представлений, принадлежащих автономным файловым группам, чтобы разрешить успешное выполнение инструкций. Однако если файловая группа, находящаяся в автономном режиме, содержит кучу или кластеризованный индекс целевой таблицы, инструкция SELECT не будет выполнена. Кроме того, любая инструкция INSERT, UPDATE или DELETE, изменяющая таблицу с любым индексом в файловой группе, находящихся в автономном режиме, также не будет выполнена.

Определения состояний файлов

Состояния файлов определяются в следующей таблице.

Состояние

Определение

ONLINE

Файл доступен для всех операций. Если база данных находится в оперативном режиме, то файлы первичной файловой группы всегда находятся в оперативном режиме. Если файл первичной файловой группы не находится в оперативном режиме, то база данных тоже не находится в оперативном режиме, и состояния файлов во вторичной файловой группе не определены.

OFFLINE

Файл недоступен и, возможно, отсутствует на диске. Файлы переходят в автономный режим с помощью явного указания пользователя и остаются в автономном режиме до тех пор, пока пользователем не будет предпринято дополнительное действие.

ms190241.Caution(ru-ru,SQL.90).gifВнимание!

Файл следует устанавливать в автономный режим только в том случае, если файл поврежден, но может быть восстановлен. Файл, который установлен в автономный режим, может быть установлен в оперативный режим только путем восстановления файла из резервной копии. Дополнительные сведения о восстановлении одного файла см. в разделе RESTORE (Transact-SQL).

RESTORING

Файл восстанавливается. Файлы переходят в состояние восстановления в результате команды восстановления, воздействующей на весь файл, а не на отдельную страницу; файлы остаются в состоянии восстановления до окончания процесса восстановления файла.

RECOVERY PENDING

Восстановление файла было отложено. Файл переходит в это состояние автоматически в результате частичного восстановления, при котором файл еще не восстановлен. Со стороны пользователя требуется дополнительное действие, чтобы исправить ошибку и разрешить завершение процесса восстановления. Дополнительные сведения см. в разделе Выполнение поэтапных восстановлений.

SUSPECT

Не удалось восстановить файл в процессе оперативного восстановления файла. Если файл находится в первичной файловой группе, база данных тоже помечается как подозрительная. Иначе база данных остается в оперативном режиме, и в подозрительном состоянии находится только файл.

Файл остается в подозрительном состоянии до тех пор, пока он не становится доступным в результате одного из следующих методов.

  • • Восстановлением из резервной копии или по журналу транзакций
  • Инструкцией DBCC CHECKDB c параметром REPAIR_ALLOW_DATA_LOSS

DEFUNCT

Файл был удален, пока он не находился не в оперативном режиме. При удалении автономной файловой группы все файлы группы помечаются удаленными.

См. также

Основные понятия

Состояния базы данных
Состояния зеркального отображения
Действия при ошибках восстановления SQL Server, вызванных повреждением резервных копий
Основные сведения о файлах и файловых группах

Другие ресурсы

ALTER DATABASE (Transact-SQL)
DBCC CHECKDB (Transact-SQL)

Справка и поддержка

Получение помощи по SQL Server 2005