2010-10-27 19 views
33

Ho un file .mdf nella mia casella locale.SQL Server: importazione database da .mdf?

Ho SQL Server 2008 Express e SQL Management Studio 2008 Express installati nella mia casella locale.

Come faccio a importare questo file .mdf come nuovo database nel mio SQL Server?

Questo sembra un compito assurdamente comune che deve essere eseguito migliaia di volte al giorno in tutto il mondo e non riesco a capire come farlo in Management Studio Express.

Cosa mi manca?

risposta

20

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

Login al database tramite sqlcmd:

sqlcmd -S Server\Instance 

E poi rilasciare i comandi:

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

E, anche se è legato a (indirettamente) da tale articolo, ecco come farlo [in SSMS] (http://msdn.microsoft.com/en-us/library/ms190209.aspx). –

23

Aprire SQL Management Studio Express e accedere al server per a cui si desidera allegare il database. Nella finestra "Esplora oggetti", fare clic con il tasto destro sulla cartella "Database" e selezionare "Allega ..." Si aprirà la finestra "Allega database"; all'interno di quella finestra fai clic su "Aggiungi ...", quindi vai al file .MDF e fai clic su "OK". Fai di nuovo clic su "OK" per terminare l'allegazione del database e il gioco è fatto. Il database dovrebbe essere disponibile per l'uso. migliori saluti :)

+0

Non funziona per me in SQL Management Studio 2008 –

+0

Come daniele3004 ha dichiarato: molto importante, il file .mdf deve trovarsi in C: ...... \ MSSQL12.SQLEXPRESS \ MSSQL \ DATA –

7

Per eseguire questa operazione vedere le immagini successive:

enter image description here

e prossimo passo è aggiungere file * .mdf,

molto importante, il file con estensione mdf deve essere situato in C: ...... \ MSSQL12.SQLEXPRESS \ MSSQL \ DATA

enter image description here

Ora rimuovere il file di log

enter image description here

0

Oltre a passi di cui risposte postato da @ daniele3004 sopra, ho dovuto aprire SSMS come amministratore altrimenti stava mostrando file primario viene letto unico errore.

Passare al menu Start, accedere al collegamento SSMS, fare clic con il pulsante destro del mouse sul collegamento SSMS, selezionare Esegui come amministratore. Quindi eseguire i passaggi precedenti.

0

Se non si dispone di un file LDF poi:

1) mettere il MDF nella C:\Program Files\Microsoft SQL Server\MSSQL13.SQLEXPRESS\MSSQL\DATA\

2) In SSMS, andare a Databases -> Attach e aggiungere il file MDF. Non ti permetterà di aggiungerlo in questo modo ma ti dirà il nome del database contenuto all'interno.

3) Assicurarsi che l'utente che esegue ssms.exe abbia accesso a questo file MDF.

4) Ora che si conosce il DbName, eseguire

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

Riferimento: https://dba.stackexchange.com/questions/12089/attaching-mdf-without-ldf

Problemi correlati