2010-10-27 4 views
33

J'ai un fichier .mdf sur ma boîte locale. J'ai SQL Server 2008 Express et SQL Management Studio 2008 Express installé sur ma boîte locale.SQL Server: Importation de la base de données à partir de .mdf?

Comment puis-je importer ce fichier .mdf en tant que nouvelle base de données dans mon SQL Server? Cela ressemble à une tâche ridiculement commune qui doit être effectuée des milliers de fois par jour à travers le monde, et je n'arrive pas à comprendre comment le faire dans Management Studio Express.

Qu'est-ce qui me manque?

Répondre

20

Voir: How to: Attach a Database File to SQL Server Express

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

sqlcmd -S Server\Instance 

Et puis utilisez 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 
+5

Et, même si elle est liée à (indirectement) de cet article, voici comment le faire [en SSMS] (http://msdn.microsoft.com/en-us/library/ms190209.aspx). –

23

Ouvrez SQL Management Studio Express et connectez-vous au serveur auquel vous voulez attacher la base de données. Dans la fenêtre 'Object Explorer', faites un clic droit sur le dossier 'Databases' et sélectionnez 'Attach ...' La fenêtre 'Attach Databases' s'ouvre; Dans cette fenêtre, cliquez sur "Ajouter ...", puis naviguez jusqu'à votre fichier .MDF et cliquez sur "OK". Cliquez sur "OK" une fois de plus pour terminer la saisie de la base de données et vous avez terminé. La base de données devrait être disponible pour utilisation. meilleures salutations :)

+0

Ne fonctionne pas pour moi dans SQL Management Studio 2008 –

+0

Comme daniele3004 a déclaré: très important, le fichier .mdf doit être situé dans C: ...... \ MSSQL12.SQLEXPRESS \ MSSQL \ DATA –

7

Pour effectuer cette opération voir les images suivantes:

enter image description here

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

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

enter image description here

Maintenant, supprimez le fichier journal

enter image description here

0

Outre les étapes mentionnées dans les réponses affichées par @ daniele3004 ci-dessus, je devais ouvrir SSMS en tant qu'administrateur sinon il montrait le fichier primaire est en lecture seule erreur. Accédez au menu Démarrer, naviguez jusqu'au lien SSMS, cliquez avec le bouton droit sur le lien SSMS, sélectionnez Exécuter en tant qu'administrateur. Ensuite, effectuez les étapes ci-dessus.

0

Si vous ne disposez pas d'un fichier LDF alors:

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

2) Dans SSMS, allez à Databases -> Attach et ajouter le fichier MDF. Il ne vous laissera pas l'ajouter de cette façon, mais il vous dira le nom de la base de données contenue à l'intérieur.

3) Assurez-vous que l'utilisateur que vous utilisez ssms.exe a accès à ce fichier MDF.

4) Maintenant que vous connaissez le DbName, 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

Questions connexes