Состояния файла
В SQL Server состояние файла базы данных поддерживается независимо от состояния базы данных. Файл всегда находится в одном определенном состоянии, таком как ONLINE или OFFLINE. Чтобы просмотреть текущее состояние файла, используйте представление каталога sys.master_files или sys.database_files. Если база данных находится в автономном состоянии, то состояние файлов можно просмотреть в представлении каталога sys.master_files.
Состояние файлов в файловой группе определяет доступность всей файловой группы. Чтобы файловая группа была доступна, необходимо, чтобы все файлы в файловой группе находились в оперативном режиме. Чтобы просмотреть текущее состояние файловой группы, используйте представление каталога sys.filegroups. Попытка получить доступ к файловой группе, которая находится в автономном режиме, с помощью инструкции языка Transact-SQL приводит к ошибке. При построении планов запросов для инструкций SELECT оптимизатор запросов избегает некластеризованных индексов и индексированных представлений, принадлежащих автономным файловым группам, чтобы разрешить успешное выполнение инструкций. Однако если файловая группа, находящаяся в автономном режиме, содержит кучу или кластеризованный индекс целевой таблицы, инструкция SELECT не будет выполнена. Кроме того, любая инструкция INSERT, UPDATE или DELETE, изменяющая таблицу с любым индексом в файловой группе, находящихся в автономном режиме, также не будет выполнена.
Определения состояний файлов
Состояния файлов определяются в следующей таблице.
Состояние |
Определение |
---|---|
ONLINE |
Файл доступен для всех операций. Если база данных находится в оперативном режиме, то файлы первичной файловой группы всегда находятся в оперативном режиме. Если файл первичной файловой группы не находится в оперативном режиме, то база данных тоже не находится в оперативном режиме, и состояния файлов во вторичной файловой группе не определены. |
OFFLINE |
Файл недоступен и, возможно, отсутствует на диске. Файлы переходят в автономный режим с помощью явного указания пользователя и остаются в автономном режиме до тех пор, пока пользователем не будет предпринято дополнительное действие.
Внимание!
Файл следует устанавливать в автономный режим только в том случае, если файл поврежден, но может быть восстановлен. Файл, который установлен в автономный режим, может быть установлен в оперативный режим только путем восстановления файла из резервной копии. Дополнительные сведения о восстановлении одного файла см. в разделе RESTORE (Transact-SQL).
|
RESTORING |
Файл восстанавливается. Файлы переходят в состояние восстановления в результате команды восстановления, воздействующей на весь файл, а не на отдельную страницу; файлы остаются в состоянии восстановления до окончания процесса восстановления файла. |
RECOVERY PENDING |
Восстановление файла было отложено. Файл переходит в это состояние автоматически в результате частичного восстановления, при котором файл еще не восстановлен. Со стороны пользователя требуется дополнительное действие, чтобы исправить ошибку и разрешить завершение процесса восстановления. Дополнительные сведения см. в разделе Выполнение поэтапных восстановлений. |
SUSPECT |
Не удалось восстановить файл в процессе оперативного восстановления файла. Если файл находится в первичной файловой группе, база данных тоже помечается как подозрительная. Иначе база данных остается в оперативном режиме, и в подозрительном состоянии находится только файл. Файл остается в подозрительном состоянии до тех пор, пока он не становится доступным в результате одного из следующих методов.
|
DEFUNCT |
Файл был удален, пока он не находился не в оперативном режиме. При удалении автономной файловой группы все файлы группы помечаются удаленными. |