Voici comment attacher une base de données SQL Server pour laquelle on dispose seulement des fichiers de données mais pas du fichier du journal des transactions.
L’exemple qui suit est basé sur l’attachement de la base de données exemple AdventureWorks2012, que l’on peut télécharger sur le site CodePlex :
Une fois le fichier téléchargé, il suffit de le placer dans le dossier où l’on souhaite que la base de données réside.
Dans mon cas, il s’agit de D:\SQLServer :
Passons sous SQL Server Management Studio, où l’on peut attacher une base de données à une instance SQL Server après un clic-droit sur le nÅ“ud Databases > Attach … :
Il suffit de cliquer sur le bouton Add … dans le dialogue qui s’ouvre …
… et de référencer le fichier de données :
Une fois que l’on a cliqué sur OK, le dialogue est mis à jour de la façon suivante :
Il suffit alors de sélectionner le fichier du journal de transaction (qui n’existe pas), et de cliquer sur le bouton Remove, puis sur OK :
Le fichier du journal des transactions est automatiquement recréé, et la base de données est maintenant attachée.
Cela peut aussi se faire par un script, avec l’option ATTACH_REBUILD_LOG de l’instruction CREATE DATABASE :
1 2 3 4 5 6 7 | USE master GO CREATE DATABASE AdventureWorks2012 ON (FILENAME = N'D:\SQLServer\AdventureWorks2012_Data.mdf') FOR ATTACH_REBUILD_LOG GO |
Bon attachement de bases de données !
ElSüket