2010-10-27 213 views
33

我在本地盒子上有一個.mdf文件。SQL Server:從.mdf導入數據庫?

我在本地機器上安裝了SQL Server 2008 Express和SQL Management Studio 2008 Express。

如何在世界中將這個.mdf文件作爲新的數據庫導入到我的SQL Server中?

這似乎是一個非常普通的任務,必須每天在全球執行數千次,而且我無法弄清楚如何在Management Studio Express中執行此操作。

我錯過了什麼?

回答

20

參見:How to: Attach a Database File to SQL Server Express

通過SQLCMD登錄到數據庫:

sqlcmd -S Server\Instance 

,然後發出命令:

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

而且,雖然它是從那篇文章鏈接(間接),這裏是如何做到這一點[在SSMS]( http://msdn.microsoft.com/en-us/library/ms190209.aspx)。 – 2010-10-27 21:50:33

23

打開SQL管理Studio快速並登錄到服務器您要附加數據庫。在'對象資源管理器'窗口中,右鍵單擊'數據庫'文件夾並選擇'附加...'將打開'附加數據庫'窗口;在該窗口內單擊「添加...」,然後導航到您的.MDF文件並單擊「確定」。再次點擊'OK'完成附加數據庫並完成。數據庫應該可以使用。 最好的問候:)

+0

不要在SQL Management Studio 2008中爲我工作 – 2015-04-08 14:24:29

+0

像daniele3004說: 非常重要,.mdf文件必須位於C:...... \ MSSQL12.SQLEXPRESS \ MSSQL \ DATA – 2016-06-10 21:32:56

7

要執行此操作請參見下圖片:

enter image description here

和下一步是添加* .mdf文件,

非常重要,.mdf文件必須位於C:...... \ MSSQL12.SQLEXPRESS \ MSSQL \ DATA

enter image description here

現在從張貼的答案被@ daniele3004上述步驟刪除日誌文件

enter image description here

0

除此之外,我不得不打開SSMS以管理員身份,否則它的內部的主要文件是隻讀的錯誤。

轉到開始菜單,導航到SSMS鏈接,右鍵單擊SSMS鏈接,選擇以管理員身份運行。然後執行上述步驟。

0

如果你沒有那麼LDF文件:

1)把MDF中C:\Program Files\Microsoft SQL Server\MSSQL13.SQLEXPRESS\MSSQL\DATA\

2)在SSMS,去Databases -> Attach並添加MDF文件。它不會讓你以這種方式添加它,但它會告訴你包含在其中的數據庫名稱。

3)確保您正在運行ssms.exe的用戶已訪問此MDF文件。

4)現在,你知道DBNAME,運行

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

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

相關問題