Estados de los archivos

En SQL Server, el estado de un archivo de bases de datos se mantiene independientemente del estado de la base de datos.Un archivo siempre está en un estado específico, como ONLINE o OFFLINE. Para ver el estado actual de un archivo, utilice la vista de catálogo sys.master_files o sys.database_files. Si la base de datos está sin conexión, el estado de los archivos se puede ver desde la vista de catálogo sys.master_files.

El estado de los archivos en un grupo de archivos determina la disponibilidad de todo el grupo de archivos. Para que un grupo de archivos esté disponible, todos los archivos del grupo de archivos deben estar en línea. Para ver el estado actual de un grupo de archivos, utilice la vista de catálogo sys.filegroups. Si un grupo de archivos está sin conexión e intenta tener acceso al grupo de archivos mediante una instrucción Transact-SQL, devolverá un error. Cuando el optimizador de consultas crea planes para instrucciones SELECT, evita índices no agrupados y vistas indizadas que residen en grupos de archivos sin conexión, permitiendo que estas instrucciones tengan éxito. No obstante, si el grupo de archivos sin conexión contiene el montón o el índice agrupado de la tabla de destino, las instrucciones SELECT no funcionarán. Adicionalmente, cualquier instrucción INSERT, UPDATE o DELETE que modifique una tabla con cualquier índice en un grupo de archivos sin conexión no funcionará.

Definiciones de estado de los archivos

En la siguiente tabla se definen los estados de los archivos.

Estado

Definición

ONLINE

El archivo está disponible para todas las operaciones. Los archivos del grupo de archivos principal siempre están en línea si la base de datos lo está. Si un archivo del grupo de archivos principal no está en línea, la base de datos no está en línea y los estados de los archivos secundarios no están definidos.

OFFLINE

El archivo no está disponible para su acceso y puede no estar presente en el disco. Los archivos pasan a estar sin conexión por una acción explícita del usuario y permanecen sin conexión hasta que se produce una acción adicional del usuario.

Nota de advertenciaAdvertencia
Un archivo sólo debe establecerse como sin conexión cuando está dañado pero se puede restaurar. Un archivo que está sin conexión sólo se puede poner en línea restaurándolo de la copia de seguridad. Para obtener más información acerca de cómo restaurar un único archivo, vea RESTORE (Transact-SQL).

RESTORING

Se está restaurando el archivo. Los archivos entran en el estado de restauración a causa de un comando de restauración que afecta a todo el archivo y permanecen en ese estado hasta que se completa la restauración y se recupera el archivo.

RECOVERY PENDING

Se ha pospuesto la recuperación del archivo. Un archivo entra en este estado automáticamente a causa de un proceso de restauración por etapas en el que el archivo no se restaura ni recupera. Se necesita una acción adicional por parte del usuario para resolver el error y permitir que se complete el proceso de recuperación. Para obtener más información, vea Realizar restauraciones por etapas.

SUSPECT

La recuperación del archivo no ha sido correcta durante un proceso de restauración en línea. Si el archivo está en el grupo de archivos principal, la base de datos también se marca como sospechosa. De lo contrario, sólo es sospechoso el archivo y la base de datos sigue estando en línea.

El archivo permanecerá en el estado sospechoso hasta que esté disponible mediante uno de los siguientes métodos:

  • Restauración y recuperación

  • DBCC CHECKDB con REPAIR_ALLOW_DATA_LOSS

DEFUNCT

El archivo se suprimió cuando no estaba en línea. Todos los archivos de un grupo de archivos pasan a estar inactivos cuando se quita un grupo de archivos sin conexión.