En SQL Server, las bases de datos almacenan sus datos y objetos (como tablas, vistas, procedimientos almacenados, etc.) en archivos. Cuando crea una base de datos utilizando las opciones predeterminadas, se crean un archivo de datos y un archivo de registro. Sin embargo, no está restringido a solo uno de cada archivo. Puede agregar archivos de datos (y archivos de registro) a una base de datos en una fecha posterior si es necesario.
Este artículo contiene ejemplos del uso de T-SQL para agregar un archivo de datos a una base de datos existente en SQL Server.
Ejemplo
Este es un ejemplo de cómo agregar un solo archivo de datos a una base de datos existente:
USE master; GO ALTER DATABASE Solutions ADD FILE ( NAME = Solutions_dat_2, FILENAME = '/var/opt/mssql/data/Solutions_dat_2.ndf', SIZE = 10MB, MAXSIZE = 100MB, FILEGROWTH = 5% ); GO
Esto agrega un archivo de datos con un nombre lógico de Solutions_dat_2 y con una ruta física de /var/opt/mssql/data/Solutions_dat_2.ndf
(esta es la ubicación física en la computadora).
Tenga en cuenta que este ejemplo utiliza rutas de archivo de Linux/Mac. Si usa Windows, deberá usar barras invertidas (\
) en lugar de barras diagonales (/
).
Aquí hay una explicación de los varios argumentos usados en este ejemplo:
NAME
- Especifica el nombre de archivo lógico. Este es el nombre lógico utilizado en una instancia de SQL Server al hacer referencia al archivo.
FILENAME
- Esta es la ruta física completa al archivo (es decir, la ruta del sistema operativo al archivo).
SIZE
- Especifica el tamaño del archivo. Se puede especificar en KB, MB, GB o TB.
MAXSIZE
- El tamaño máximo de archivo al que puede crecer el archivo. Se puede especificar en KB, MB, GB, TB o ILIMITADO.
FILEGROWTH
- El incremento de crecimiento automático del archivo (la cantidad de espacio agregado al archivo cada vez que se requiere espacio nuevo). Se puede especificar en KB, MB, GB, TB o %.
El valor predeterminado es MB
(para megabytes).
Comprueba el resultado
Podemos verificar el resultado ejecutando la siguiente consulta:
USE Solutions; GO SELECT name, physical_name FROM sys.database_files; GO
Resultado:
name physical_name --------------- --------------------------------------- Solutions /var/opt/mssql/data/Solutions.mdf Solutions_log /var/opt/mssql/data/Solutions_log.ldf Solutions_dat_2 /var/opt/mssql/data/Solutions_dat_2.ndf
Podemos ver el nuevo archivo de datos en la lista además del archivo de datos original (y el archivo de registro).
Por supuesto, también puedes usar el asterisco (*
) para devolver todas las columnas si lo desea.
Si descubre que algún día ya no lo necesita, siempre puede eliminar su nuevo archivo de datos.