Como mínimo, una base de datos de SQL Server tiene dos archivos de sistema operativo; el archivo de datos y el archivo de registro.
El archivo de datos contiene los datos reales de la base de datos, así como objetos como tablas, índices, procedimientos almacenados y vistas. El archivo de registro contiene la información necesaria para recuperar todas las transacciones en la base de datos.
Cuando crea una base de datos utilizando las opciones predeterminadas, se crean ambos archivos. Estos archivos se crean en el 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. Por lo tanto, el grupo de archivos principal es el grupo de archivos predeterminado (a menos que se cambie usando ALTER DATABASE
declaración).
Cuando crea varios archivos de datos, también tiene la opción de agruparlos en un grupo de archivos definido por el usuario. Esto le permite agrupar archivos de forma lógica en su propio grupo de archivos que usted creó. Este grupo de archivos existirá además del grupo de archivos principal. Los objetos de la base de datos permanecerán dentro del grupo de archivos principal.
Este artículo demuestra cómo crear un grupo de archivos definido por el usuario y agregarle algunos archivos de datos.
Ejemplo
Este es un ejemplo del uso de T-SQL para agregar un grupo de archivos a una base de datos existente:
USE master GO ALTER DATABASE Solutions ADD FILEGROUP Solutions1Filegroup1; GO ALTER DATABASE Solutions ADD FILE ( NAME = Solutions_dat_2, FILENAME = 'D:\mssql\data\Solutions_dat2.ndf', SIZE = 10MB, MAXSIZE = 100MB, FILEGROWTH = 5% ), ( NAME = Solutions_dat_3, FILENAME = 'D:\mssql\data\Solutions_dat3.ndf', SIZE = 10MB, MAXSIZE = 100MB, FILEGROWTH = 5% ) TO FILEGROUP Solutions1Filegroup1; GO
Este ejemplo crea un grupo de archivos llamado Solutions1Filegroup1
y le agrega dos archivos de datos. Especificamos las cosas habituales para cada archivo, como su nombre lógico, la ruta del archivo físico, el tamaño, etc.
La suposición con este ejemplo es que ya existe un archivo de datos llamado Solutions_dat_1
. Por lo tanto, llamamos a estos archivos de la misma manera, pero solo incrementamos el número para cada archivo.
Además, en este ejemplo nombramos el grupo de archivos como si fuera solo uno de muchos. Podemos crear varios grupos de archivos si es necesario y, si lo hacemos, probablemente querremos una convención de nomenclatura que facilite la distinción entre cada grupo de archivos.
Ver los grupos de archivos
Puede ver los grupos de archivos de una base de datos determinada consultando sys.filegroups
vista de catálogo.
Ejemplo:
USE Solutions; SELECT name, type_desc FROM sys.filegroups;
Resultado:
name type_desc -------------------- -------------- PRIMARY ROWS_FILEGROUP Solutions1Filegroup1 ROWS_FILEGROUP
También puede usar un asterisco (*) para devolver todas las filas si es necesario.