Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Comment ajouter un fichier journal à une base de données SQL Server (T-SQL)

Lorsque vous créez une base de données dans SQL Server à l'aide des options par défaut, un fichier de données et un fichier journal sont créés. Le fichier de données stocke les données et les objets de la base de données (tels que les tables, les vues, les procédures stockées, etc.). Le fichier journal stocke les informations requises pour récupérer toutes les transactions dans la base de données. Si vous avez une base de données en pleine croissance, vous pouvez vous retrouver dans une situation où vous devez ajouter un nouveau fichier journal (et/ou fichier de données).

Tout comme vous pouvez ajouter plus de fichiers de données à une base de données existante dans SQL Server, vous pouvez également ajouter plus de fichiers journaux. Cependant, la syntaxe est légèrement différente selon que vous créez un fichier de données ou un fichier journal. L'ajout d'un fichier de données nécessite ADD FILE tandis que l'ajout d'un fichier journal nécessite ADD LOG FILE .

Cet article explique comment utiliser T-SQL pour ajouter un fichier journal à une base de données existante dans SQL Server.

Exemple

Pour ajouter un fichier journal à une base de données existante, utilisez le ALTER DATABASE déclaration avec le ADD LOG FILE argument. Fournissez les détails du nouveau fichier journal et exécutez l'instruction.

Voici un exemple :

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

Cela ajoute un fichier journal avec un nom logique Solutions_log_2 aux Solutions base de données. Nous précisons que le chemin physique est /var/opt/mssql/data/Solutions_log2.ldf . Notez que ce chemin utilise la syntaxe Linux/Mac. Si vous utilisez Windows, vous devrez utiliser la syntaxe applicable (barres obliques inverses au lieu des barres obliques).

Vérifier le résultat

Vous pouvez vérifier le résultat en exécutant la requête suivante :

USE Solutions;  
GO

SELECT name, physical_name  
FROM sys.database_files;  
GO

Résultat :

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

Nous pouvons voir le nouveau fichier journal répertorié en plus du fichier journal d'origine (ainsi que divers fichiers de données).

Dans cet exemple, je ne sélectionne que deux colonnes de sys.database_files vue à afficher. Vous pouvez également utiliser l'astérisque (* ) pour renvoyer toutes les colonnes si vous préférez.