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.