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
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 :)
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.
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