2010-10-27 6 views
33

Tôi có tệp .mdf trên hộp địa phương của mình.Máy chủ SQL: Nhập cơ sở dữ liệu từ .mdf?

Tôi có SQL Server 2008 Express và SQL Management Studio 2008 Express được cài đặt trên hộp địa phương của tôi.

Làm cách nào để nhập tệp .mdf này làm cơ sở dữ liệu mới vào SQL Server của tôi trên thế giới?

Điều này có vẻ giống như một công việc vô cùng phổ biến phải được thực hiện hàng nghìn lần mỗi ngày trên toàn cầu và tôi không thể tìm ra cách thực hiện trong Management Studio Express.

Tôi đang thiếu gì?

Trả lời

20

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

Đăng nhập vào cơ sở dữ liệu thông qua sqlcmd:

sqlcmd -S Server\Instance 

Và sau đó phát lệnh:

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

Và, mặc dù nó được liên kết với (gián tiếp) từ bài viết đó, dưới đây là cách để làm điều đó [trong SSMS] (http://msdn.microsoft.com/en-us/library/ms190209.aspx). –

23

Quản lý mở SQL Studio Express và đăng nhập vào máy chủ để mà bạn muốn đính kèm cơ sở dữ liệu. Trong cửa sổ 'Object Explorer', nhấn chuột phải vào thư mục 'Databases' và chọn 'Attach ...' Cửa sổ 'Attach Databases' sẽ mở ra; bên trong cửa sổ đó, nhấp vào 'Thêm ...' và sau đó điều hướng đến tệp .MDF của bạn và nhấp vào 'OK'. Nhấp vào 'OK' một lần nữa để hoàn tất việc đính kèm cơ sở dữ liệu và bạn đã hoàn tất. Cơ sở dữ liệu sẽ có sẵn để sử dụng. Trân :)

+0

Không hoạt động với tôi trong SQL Management Studio 2008 –

+0

Giống như daniele3004 đã nói: rất quan trọng, tệp .mdf phải được đặt trong C: ...... \ MSSQL12.SQLEXPRESS \ MSSQL \ DATA –

7

Để thực hiện thao tác này nhìn thấy những hình ảnh tiếp theo:

enter image description here

và tiếp theo bước là thêm file * .mdf,

rất quan trọng, các file MDF phải được đặt trong C: ...... \ MSSQL12.SQLEXPRESS \ MSSQL \ DATA

enter image description here

Bây giờ loại bỏ các tập tin đăng nhập

enter image description here

0

Ngoài bước được đề cập trong câu trả lời đăng bởi @ daniele3004 ở trên, tôi đã phải mở SSMS as Administrator nếu không nó được hiển thị tập tin tiểu học là chỉ đọc lỗi.

Đi tới Trình đơn bắt đầu, điều hướng đến liên kết SSMS, nhấp chuột phải vào liên kết SSMS, chọn Chạy với tư cách quản trị viên. Sau đó thực hiện các bước trên.

0

Nếu bạn không có một file LDF thì:

1) đặt MDF trong C:\Program Files\Microsoft SQL Server\MSSQL13.SQLEXPRESS\MSSQL\DATA\

2) trong SSMS, đi đến Databases -> Attach và thêm tập tin MDF. Nó sẽ không cho phép bạn thêm nó theo cách này nhưng nó sẽ cho bạn biết tên cơ sở dữ liệu chứa bên trong.

3) Đảm bảo người dùng bạn đang chạy ssms.exe như đã truy cập vào tệp MDF này.

4) Bây giờ bạn biết những dbname, chạy

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

tham khảo: https://dba.stackexchange.com/questions/12089/attaching-mdf-without-ldf