Compartir a través de


Archivos y grupos de archivos de base de datos

Como mínimo, cada base de datos de SQL Server tiene dos archivos de sistema operativo: un archivo de datos y un archivo de registro. Los archivos de datos contienen datos y objetos como tablas, índices, procedimientos almacenados y vistas. Los archivos de registro contienen la información necesaria para recuperar todas las transacciones de la base de datos. Los archivos de datos se pueden agrupar en grupos de archivos con fines de asignación y administración.

Archivos de base de datos

Las bases de datos de SQL Server tienen tres tipos de archivos, como se muestra en la tabla siguiente.

Archivo Descripción
Primario El archivo de datos principal contiene la información de inicio de la base de datos y apunta a los demás archivos de la base de datos. Los datos de usuario y los objetos se pueden almacenar en este archivo o en archivos de datos secundarios. Cada base de datos tiene un archivo de datos principal. La extensión de nombre de archivo recomendada para los archivos de datos principales es .mdf.
Secundario Los archivos de datos secundarios son opcionales, son definidos por el usuario y almacenan datos de usuario. Los archivos secundarios se pueden usar para distribuir datos entre varios discos colocando cada archivo en una unidad de disco diferente. Además, si una base de datos supera el tamaño máximo de un único archivo de Windows, puede usar archivos de datos secundarios para que la base de datos pueda seguir creciendo.

La extensión de nombre de archivo recomendada para los archivos de datos secundarios es .ndf.
Registro de transacciones Los archivos de registro de transacciones contienen la información de registro que se usa para recuperar la base de datos. Debe haber al menos un archivo de registro para cada base de datos. La extensión de nombre de archivo recomendada para los registros de transacciones es .ldf.

Por ejemplo, se puede crear una base de datos simple denominada Sales que incluya un archivo principal que contenga todos los datos y objetos y un archivo de registro que contenga la información del registro de transacciones. Como alternativa, se puede crear una base de datos más compleja denominada Orders que incluya un archivo principal y cinco archivos secundarios. Los datos y los objetos de la base de datos se distribuyen entre los seis archivos y los cuatro archivos de registro contienen la información del registro de transacciones.

De forma predeterminada, los datos y los registros de transacciones se colocan en la misma unidad y ruta de acceso. Esto se hace para controlar los sistemas de un solo disco. Sin embargo, esto puede no ser óptimo para entornos de producción. Se recomienda colocar archivos de datos y de registro en discos independientes.

Grupos de archivos

Cada base de datos tiene un grupo de archivos principal. Este grupo de archivos contiene el archivo de datos principal y los archivos secundarios que no se colocan en otros grupos de archivos. Los grupos de archivos definidos por el usuario se pueden crear para agrupar archivos de datos para fines administrativos, de asignación de datos y de selección de ubicación.

Por ejemplo, se pueden crear tres archivos, Data1.ndf, Data2.ndf y Data3.ndf en tres unidades de disco, respectivamente, y asignadas al grupo de archivos fgroup1. A continuación, se puede crear una tabla específicamente en el grupo de archivos fgroup1. Las consultas de datos de la tabla se distribuirán entre los tres discos; esto mejorará el rendimiento. La misma mejora del rendimiento se puede lograr mediante un único archivo creado en un conjunto de franjas RAID (matriz redundante de discos independientes). Sin embargo, los archivos y grupos de archivos permiten agregar fácilmente nuevos archivos a nuevos discos.

Todos los archivos de datos se almacenan en los grupos de archivos enumerados en la tabla siguiente.

Grupo de archivos Descripción
Primario Grupo de archivos que contiene el archivo principal. Todas las tablas del sistema se asignan al grupo de archivos principal.
Definidas por el usuario Cualquier grupo de archivos creado específicamente por el usuario cuando el usuario crea por primera vez o posteriormente modifica la base de datos.

Grupo de archivos predeterminado

Cuando los objetos se crean en la base de datos sin especificar a qué grupo de archivos pertenecen, se asignan al grupo de archivos predeterminado. En cualquier momento, se designa exactamente un grupo de archivos como grupo de archivos predeterminado. Los archivos del grupo de archivos predeterminado deben ser lo suficientemente grandes como para contener los nuevos objetos no asignados a otros grupos de archivos.

El grupo de archivos PRIMARY es el grupo de archivos predeterminado a menos que se cambie mediante la instrucción ALTER DATABASE. La asignación de los objetos y tablas del sistema permanece dentro del grupo de archivos PRIMARY, no el nuevo grupo de archivos predeterminado.

CREATE DATABASE (Transact-SQL de SQL Server)

ALTER DATABASE Opciones de archivo y grupo de archivos (Transact-SQL)

Adjuntar y ocultar bases de datos (SQL Server)