Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Come aggiungere un file di registro a un database di SQL Server (T-SQL)

Quando si crea un database in SQL Server utilizzando le opzioni predefinite, vengono creati un file di dati e un file di registro. Il file di dati memorizza i dati e gli oggetti del database (come tabelle, viste, procedure memorizzate, ecc.). Il file di registro memorizza le informazioni necessarie per recuperare tutte le transazioni nel database. Se hai un database in crescita, potresti trovarti nella situazione in cui devi aggiungere un nuovo file di registro (e/o file di dati).

Proprio come puoi aggiungere più file di dati a un database esistente in SQL Server, puoi anche aggiungere più file di registro. Tuttavia, la sintassi è leggermente diversa a seconda che tu stia creando un file di dati o un file di registro. L'aggiunta di un file di dati richiede ADD FILE mentre l'aggiunta di un file di registro richiede ADD LOG FILE .

Questo articolo illustra come utilizzare T-SQL per aggiungere un file di registro a un database esistente in SQL Server.

Esempio

Per aggiungere un file di registro a un database esistente, utilizzare ALTER DATABASE istruzione con ADD LOG FILE discussione. Fornisci i dettagli del nuovo file di registro ed esegui l'istruzione.

Ecco un esempio:

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

Questo aggiunge un file di registro con un nome logico di Solutions_log_2 alle Solutions Banca dati. Specifichiamo che il percorso fisico è /var/opt/mssql/data/Solutions_log2.ldf . Nota che questo percorso usa la sintassi Linux/Mac. Se utilizzi Windows dovrai utilizzare la sintassi applicabile (barre inverse invece delle barre in avanti).

Verifica il risultato

Puoi controllare il risultato eseguendo la seguente query:

Soluzioni
USE Solutions;  
GO

SELECT name, physical_name  
FROM sys.database_files;  
GO

Risultato:

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

Possiamo vedere il nuovo file di registro elencato oltre al file di registro originale (oltre a vari file di dati).

In questo esempio seleziono solo due colonne di sys.database_files vista per visualizzare. Puoi anche usare l'asterisco (* ) per restituire tutte le colonne, se preferisci.