41 votes

SQL Server : Importation d'une base de données à partir d'un fichier .mdf ?

J'ai un fichier .mdf sur ma boîte locale.

SQL Server 2008 Express et SQL Management Studio 2008 Express sont installés sur ma machine locale.

Comment puis-je importer ce fichier .mdf en tant que nouvelle base de données dans mon serveur SQL ?

Il s'agit d'une tâche ridiculement courante qui doit être exécutée des milliers de fois par jour dans le monde entier, mais je ne parviens pas à trouver comment l'effectuer dans Management Studio Express.

Qu'est-ce que je manque ?

30voto

saba Points 301

Ouvrez SQL Management Studio Express et connectez-vous au serveur auquel vous souhaitez attacher la base de données. Dans la fenêtre "Object Explorer", cliquez avec le bouton droit de la souris sur le dossier "Databases" et sélectionnez "Attach... La fenêtre "Attach Databases" s'ouvre ; dans cette fenêtre, cliquez sur "Add...", naviguez jusqu'à votre fichier .MDF et cliquez sur "OK". Cliquez à nouveau sur 'OK' pour terminer l'attachement de la base de données et vous avez terminé. La base de données devrait être disponible pour utilisation. Meilleures salutations :)

29voto

Joe Stefanelli Points 72874

Voir : Comment faire ? Attacher un fichier de base de données à SQL Server Express

Connectez-vous à la base de données via sqlcmd :

sqlcmd -S Server\Instance

Puis émettre les commandes :

USE [master]
GO
CREATE DATABASE [database_name] ON 
( FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Data\<database name>.mdf' ),
( FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Data\<database name>.ldf' )
 FOR ATTACH ;
GO

16voto

daniele3004 Points 62

Pour effectuer cette opération, voir les images suivantes :

enter image description here

et l'étape suivante consiste à ajouter le fichier *.mdf,

très important, le fichier .mdf doit être situé dans C :...... \MSSQL12.SQLEXPRESS\MSSQL\DATA

enter image description here

Supprimez maintenant le fichier journal

enter image description here

1voto

Nicholas DiPiazza Points 1441

Si vous n'avez pas de fichier LDF, alors.. :

1) placer le MDF dans le C:\Program Files\Microsoft SQL Server\MSSQL13.SQLEXPRESS\MSSQL\DATA\

2) Dans ssms, allez dans Databases -> Attach et ajoutez le fichier MDF. Il ne vous permettra pas de l'ajouter de cette façon, mais il vous indiquera le nom de la base de données qu'il contient.

3) Assurez-vous que l'utilisateur sous lequel vous exécutez ssms.exe a accès à ce fichier MDF.

4) Maintenant que vous connaissez le nom de la base de données, exécutez

EXEC sp_attach_single_file_db @dbname = 'DbName', 
@physname = N'C:\Program Files\Microsoft SQL Server\MSSQL13.SQLEXPRESS\MSSQL\DATA\yourfile.mdf';

Référence : https://dba.stackexchange.com/questions/12089/attaching-mdf-without-ldf

1voto

mmhasannn Points 10115

Outre les étapes mentionnées dans les réponses postées par @daniele3004 ci-dessus, j'ai dû ouvrir SSMS en tant qu'administrateur, sinon il affichait l'erreur Primary file is read only (le fichier primaire est en lecture seule).

Allez dans le menu Démarrer, naviguez jusqu'au lien SSMS, cliquez avec le bouton droit de la souris sur le lien SSMS, sélectionnez Exécuter en tant qu'administrateur . Effectuez ensuite les étapes ci-dessus.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X