Hướng dẫn import file MDF vào SQL Server bằng SSMS và T-SQL
Mục lục bài viết
File MDF (Master Data File) là một phần quan trọng trong cơ sở dữ liệu SQL Server, lưu trữ toàn bộ dữ liệu của database. Trong một số trường hợp, bạn có thể cần import file MDF vào SQL Server để phục hồi dữ liệu, di chuyển database hoặc chuyển đổi sang phiên bản SQL Server mới hơn.
3 Loại Tệp Trong SQL Server
Trước khi tìm hiểu cách import file MDF vào SQL Server bạn cần hiểu rõ hơn về cấu trúc cơ bản của cơ sở dữ liệu SQL Server.

Tệp dữ liệu chính (Primary Data File) - .mdf
Đây là tệp quan trọng nhất, lưu trữ toàn bộ dữ liệu của cơ sở dữ liệu, bao gồm các bảng, cột, hàng, chỉ mục, v.v. File mdf sql server này có phần mở rộng mặc định là *.mdf.
Tệp dữ liệu phụ (Secondary Data File) - .ndf
Loại tệp này là tùy chọn, dùng để lưu trữ dữ liệu bổ sung cho cơ sở dữ liệu. Việc sử dụng tệp *.ndf rất phù hợp khi muốn phân chia dữ liệu trên nhiều ổ đĩa của máy chủ cơ sở dữ liệu.
Tệp nhật ký (Transaction Log File) - .ldf
Tệp này ghi lại tất cả các thay đổi được thực hiện trong cơ sở dữ liệu, bao gồm chèn, cập nhật, xóa dữ liệu. LDF đóng vai trò quan trọng trong việc phục hồi cơ sở dữ liệu trong trường hợp xảy ra lỗi.
Nắm vững kiến thức về 3 loại tệp cơ bản trong SQL Server là bước đầu tiên để quản trị và sử dụng cơ sở dữ liệu hiệu quả.
Cách tìm vị trí của tệp MDF
Trước khi import file mdf vào sql server, việc xác định chính xác vị trí của tệp MDF (tệp dữ liệu chính) là rất quan trọng.
Sử dụng truy vấn quản lý động (DMV)
Bạn có thể truy vấn các DMV sys.database_files và sys.master_files để lấy thông tin chi tiết về các tệp cơ sở dữ liệu. sys.master_files cung cấp vị trí của tất cả các cơ sở dữ liệu, trong khi sys.database_files tập trung vào cơ sở dữ liệu cụ thể mà bạn quan tâm.
Sử dụng SQL Server Management Studio (SSMS)
-
Kết nối với máy chủ cơ sở dữ liệu trong SSMS.
-
Mở rộng thư mục "Databases".
-
Click chuột phải vào cơ sở dữ liệu bạn muốn tìm vị trí tệp MDF.
-
Chọn "Properties".
-
Trong cửa sổ "Properties", chọn tab "Files".
-
Các cột "Path" và "File name" hiển thị vị trí của tệp MDF và các tệp tin khác liên quan đến cơ sở dữ liệu.
Với hai cách đơn giản này, bạn có thể dễ dàng xác định vị trí của tệp MDF và mở file mdf bằng sql nhanh chóng.
Hướng dẫn import file MDF vào SQL Server
Sử dụng SSMS

Muốn cách attach database sql 2008 bằng cách sử dụng SSMS, hãy thực hiện theo các bước sau:
-
Mở SSMS và kết nối đến máy chủ cơ sở dữ liệu.
-
Bấm chuột phải vào "Databases" và chọn "Attach".
-
Trong hộp thoại Attach Database, bấm vào "Add".
-
Trong hộp thoại Locate Database, tìm tệp MDF của cơ sở dữ liệu bạn muốn attack sql server. Bạn có thể duyệt đến vị trí khác hoặc nhập đường dẫn trực tiếp vào ô "Database data file location". Chọn tệp MDF mong muốn và bấm "OK".
-
Xác nhận chi tiết cơ sở dữ liệu trong "Database to attach" và chi tiết tệp trong "AdventureWorks2017 database details".
-
Bấm "OK" để đính kèm cơ sở dữ liệu.
-
Nếu đính kèm thành công, bạn sẽ thấy cơ sở dữ liệu trong Object Explorer.
Với các bước đơn giản này, bạn có thể dễ dàng đính kèm tệp MDF vào SSMS và bắt đầu làm việc với cơ sở dữ liệu của mình.
Truy vấn T-SQL
Bên cạnh SSMS, bạn cũng có thể đính kèm tệp MDF của cơ sở dữ liệu SQL Server bằng cách sử dụng các truy vấn T-SQL linh hoạt. Bài viết này sẽ hướng dẫn bạn cách thực hiện thông qua hai phương pháp phổ biến: CREATE DATABASE.. WITH ATTACH và exec sp_attach_db.
Ví dụ:
CREATE DATABASE MyAdventureWorks
ON (FILENAME = 'C:\MySQLServer\AdventureWorks_Data.mdf'),
(FILENAME = 'C:\MySQLServer\AdventureWorks_Log.ldf')
FOR ATTACH;
Xem thêm: Cách tạo mới cơ sở dữ liệu trên sql server 2008
Khắc phục sự cố khi đính kèm tệp MDF
Trong quá trình attack sql server, bạn có thể gặp phải một số lỗi sau:
Lỗi thiếu quyền truy cập (Access denied due to lack of permission)
-
Thông báo lỗi: "unable to open physical database file Operating system error 5: Access denied".
-
Nguyên nhân: Bạn không có đủ quyền truy cập vào file MDF hoặc file LDF.
-
Giải pháp:
-
Chạy SQL Server Management Studio với quyền quản trị và đính kèm cơ sở dữ liệu.
-
Cấp quyền truy cập đầy đủ (full control) cho file MDF và LDF. Bạn có thể thực hiện bằng cách:
-
Kích chuột phải vào file MDF và LDF.
-
Chọn tab "Security".
-
Chọn người dùng cần cấp quyền và cấp quyền "Full control".
-
-
Nếu các cách trên không hiệu quả, hãy sao chép các file MDF và LDF vào vị trí mặc định của file cơ sở dữ liệu. Khi đó, người dùng sẽ tự động được cấp quyền cần thiết.
-
Lỗi không tương thích phiên bản (Unable to downgrade)
-
Thông báo lỗi: "The database cannot be opened because it is version XXX".
-
Nguyên nhân: Bạn đang cố gắng import file MDF vào SQL Server phiên bản cao hơn vào phiên bản thấp hơn. Ví dụ, bạn đính kèm file MDF của SQL Server 2014 vào SQL Server 2008.
-
Giải pháp: Microsoft không hỗ trợ việc hạ cấp phiên bản cơ sở dữ liệu. Do đó, bạn không thể khắc phục lỗi này.
Xem thêm: Hướng dẫn sửa file Sql Server bằng phần mềm chuyên dụng
Kết luận
Bài viết này hy vọng đã cung cấp cho bạn đầy đủ thông tin cần thiết về cách import file MDF vào SQL Server. Nếu bạn còn bất kỳ câu hỏi nào, vui lòng để lại bình luận bên dưới, Võ Nguyên sẽ giải đáp thắc mắc và hỗ trợ bạn tận tình!







