web-dev-qa-db-fra.com

SQL Server: Importer 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 mon ordinateur local.

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

Cela semble être une tâche ridiculement commune qui doit être effectuée des milliers de fois par jour à travers le monde, et je ne vois pas comment le faire dans Management Studio Express.

Qu'est-ce que je rate?

Voir: Comment: attacher un fichier de base de données à SQL Server Express

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

sqlcmd -S Server\Instance

Et ensuite, lancez 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
21
Joe Stefanelli

Ouvrez SQL Management Studio Express et connectez-vous au serveur auquel vous souhaitez attacher la base de données. Dans la fenêtre "Explorateur d'objets", cliquez avec le bouton droit de la souris sur le dossier "Bases de données" et sélectionnez "Joindre ...". La fenêtre "Joindre les bases de données" s'ouvrira. Dans cette fenêtre, cliquez sur "Ajouter ..." puis accédez à votre fichier .MDF et cliquez sur "OK". Cliquez une nouvelle fois sur 'OK' pour finir de joindre la base de données et vous avez terminé. La base de données devrait être disponible pour utilisation . Meilleures salutations :)

27
saba

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

 enter image description here

et la prochaine étape est d'ajouter le fichier * .mdf,

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

 enter image description here

Maintenant, supprimez le fichier journal

 enter image description here

10
daniele3004

Outre les étapes mentionnées dans les réponses postées de @ daniele3004 ci-dessus, j'ai dû ouvrir SSMS en tant qu'administrateur, sinon le fichier principal est en lecture seule.

Allez au menu Démarrer, accédez au lien SSMS, cliquez avec le bouton droit de la souris sur le lien SSMS, sélectionnez Exécuter en tant qu'administrateur . Puis effectuez les étapes ci-dessus.

1
Mudassir Hasan

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

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

2) Dans ssms, accédez à Databases -> Attach et ajoutez le fichier MDF. Il ne vous laissera pas 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 sur lequel vous exécutez ssms.exe a accédé à ce fichier MDF.

4) Maintenant que vous connaissez le DbName, lancez

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

0