sql >> Base de Datos >  >> RDS >> Sqlserver

Cómo agregar un grupo de archivos a una base de datos de SQL Server (T-SQL)

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.