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

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

Cuando crea una base de datos en SQL Server utilizando las opciones predeterminadas, se crean un archivo de datos y un archivo de registro. El archivo de datos almacena los datos y los objetos de la base de datos (como tablas, vistas, procedimientos almacenados, etc.). El archivo de registro almacena la información necesaria para recuperar todas las transacciones en la base de datos. Si tiene una base de datos en crecimiento, es posible que se encuentre en una situación en la que necesite agregar un nuevo archivo de registro (y/o archivo de datos).

Así como puede agregar más archivos de datos a una base de datos existente en SQL Server, también puede agregar más archivos de registro. Sin embargo, la sintaxis es ligeramente diferente dependiendo de si está creando un archivo de datos o un archivo de registro. Agregar un archivo de datos requiere ADD FILE mientras que agregar un archivo de registro requiere ADD LOG FILE .

Este artículo demuestra cómo usar T-SQL para agregar un archivo de registro a una base de datos existente en SQL Server.

Ejemplo

Para agregar un archivo de registro a una base de datos existente, use ALTER DATABASE declaración con el ADD LOG FILE argumento. Proporcione los detalles del nuevo archivo de registro y ejecute la instrucción.

He aquí un ejemplo:

USE master;  
GO

ALTER DATABASE Solutions   
ADD LOG FILE 
(  
    NAME = Solutions_log_2,  
    FILENAME = '/var/opt/mssql/data/Solutions_log2.ldf',  
    SIZE = 10MB,  
    MAXSIZE = 100MB,  
    FILEGROWTH = 5%  
);
GO

Esto agrega un archivo de registro con un nombre lógico de Solutions_log_2 a las Solutions base de datos. Especificamos que la ruta física es /var/opt/mssql/data/Solutions_log2.ldf . Tenga en cuenta que esta ruta utiliza la sintaxis de Linux/Mac. Si usa Windows, deberá usar la sintaxis aplicable (barras invertidas en lugar de barras diagonales).

Comprueba el resultado

Puede 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_dat2.ndf
Solutions_dat_3  /var/opt/mssql/data/Solutions_dat3.ndf
Solutions_log_2  /var/opt/mssql/data/Solutions_log2.ldf

Podemos ver el nuevo archivo de registro en la lista además del archivo de registro original (así como varios archivos de datos).

En este ejemplo, solo selecciono dos columnas de sys.database_files ver para mostrar. También puede utilizar el asterisco (* ) para devolver todas las columnas si lo prefiere.