Tuyển dụng
Viettel IDC

Hướng dẫn chi tiết cách Attach Database trong SQL Server

28/10/2025

Trong quá trình làm việc với SQL Server, có những lúc bạn cần khôi phục, di chuyển hoặc chia sẻ cơ sở dữ liệu giữa các máy chủ khác nhau. Một trong những thao tác phổ biến nhất phục vụ mục đích này chính là Attach Database, phương pháp giúp gắn lại tệp dữ liệu (.mdf, .ldf) vào SQL Server nhanh chóng mà không cần thực hiện quá trình restore phức tạp. Bài viết này Viettel IDC sẽ hướng dẫn bạn chi tiết cách Attach Database trong SQL Server, kèm theo các lưu ý quan trọng giúp tránh lỗi và đảm bảo an toàn dữ liệu.

Attach Database là gì?

Attach Database là gì?

Attach Database là quá trình kết nối lại (re-attach) các tệp dữ liệu (.mdf - file chính, .ldf - file log) của một cơ sở dữ liệu đã được tách ra (detached) trước đó vào hệ thống SQL Server.

Nói một cách dễ hiểu, khi bạn detach (tách) một cơ sở dữ liệu ra khỏi SQL Server, hệ thống sẽ ngừng quản lý database đó nhưng vẫn giữ lại các file dữ liệu trên ổ cứng. Lúc này, để khôi phục lại cơ sở dữ liệu cho việc sử dụng, bạn cần thực hiện thao tác Attach.

 

Phương pháp này được áp dụng phổ biến trong các tình huống như:

- Di chuyển database giữa các máy chủ.

- Phục hồi dữ liệu nhanh mà không cần restore từ bản backup.

- Chia sẻ cơ sở dữ liệu cho môi trường thử nghiệm hoặc phát triển.

Chuẩn bị trước khi Attach Database

Trước khi thực hiện thao tác attach database trong SQL Server, bạn cần chuẩn bị kỹ một vài bước quan trọng để tránh lỗi trong quá trình thực hiện. Việc chuẩn bị đúng ngay từ đầu sẽ giúp quá trình khôi phục diễn ra nhanh chóng, an toàn và hạn chế rủi ro mất dữ liệu.

Kiểm tra phiên bản SQL Server đang sử dụng

Trước hết, bạn cần biết rõ phiên bản SQL Server hiện tại của mình. Nguyên nhân là vì database được tạo bằng phiên bản mới hơn thường sẽ không attach được trên phiên bản cũ hơn. Ví dụ, nếu file dữ liệu được tạo từ SQL Server 2019 thì khi bạn dùng SQL Server 2016 để attach có thể sẽ gặp lỗi không tương thích.


Cách kiểm tra rất đơn giản. Bạn mở công cụ SQL Server Management Studio (SSMS), kết nối đến server đang dùng, chọn mục New Query và gõ lệnh SELECT @@VERSION. Kết quả trả về sẽ hiển thị rõ phiên bản SQL Server cùng số hiệu, ví dụ như “Microsoft SQL Server 2019 (RTM) - 15.0.2000.5 (X64)”. Từ đó, bạn có thể xác định chính xác mình đang làm việc với phiên bản nào.

Xác định vị trí và trạng thái của file dữ liệu

Sau khi xác định phiên bản, bước tiếp theo là kiểm tra các file dữ liệu cần thiết. Một database SQL Server thường bao gồm ít nhất hai file: file .MDF (chứa dữ liệu chính) và file .LDF (file log, chứa nhật ký giao dịch).


Trước khi attach, hãy chắc chắn rằng hai file này còn nguyên vẹn, không bị lỗi hoặc mất dữ liệu. File thường được lưu trong thư mục mặc định của SQL Server, ví dụ:
C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\DATA\

 

Hãy đảm bảo rằng file .MDF không bị khóa bởi ứng dụng khác. Nếu file đang được sử dụng trên một máy chủ khác, bạn cần detach database đó trước khi mang đi attach ở môi trường mới.
Trong trường hợp bạn chỉ có file .MDF mà không có .LDF, SQL Server vẫn có thể tạo file log mới trong quá trình attach, miễn là file dữ liệu chính không bị hỏng.

Cấp quyền truy cập cho file dữ liệu

Một trong những lỗi thường gặp nhất khi attach database là thông báo “Access is denied” hoặc “Cannot open database because it is inaccessible”. Nguyên nhân chủ yếu là do SQL Server không có quyền đọc hoặc ghi dữ liệu vào thư mục chứa file .MDF và .LDF.


Để khắc phục vấn đề này, bạn cần cấp quyền truy cập cho tài khoản mà SQL Server đang sử dụng. Vào SQL Server Configuration Manager, mở mục SQL Server Services để kiểm tra tài khoản đang chạy dịch vụ (thường là “NT Service\MSSQLSERVER” hoặc “Network Service”). Sau đó, vào thư mục chứa file dữ liệu, nhấn chuột phải chọn Properties → Security → Edit, thêm tài khoản nói trên và cấp quyền “Full Control” để SQL Server có thể thao tác với file.


Ngoài ra, hãy kiểm tra thuộc tính file xem có bị đánh dấu “Read-only” hay không. Nếu có, bạn cần bỏ chọn để SQL Server có thể ghi dữ liệu khi attach. Với các file được sao chép từ máy khác, đôi khi Windows sẽ tự động khóa vì lý do bảo mật. Trong trường hợp này, bạn chỉ cần nhấn chuột phải vào file, chọn Properties rồi nhấn Unblock để mở quyền truy cập.

Cách Attach Database trong SQL Server bằng SSMS (SQL Server Management Studio)

Mở SSMS và đăng nhập vào SQL Server

Bước đầu tiên, bạn cần mở SQL Server Management Studio (SSMS) - đây là công cụ trực quan giúp quản trị cơ sở dữ liệu SQL Server một cách dễ dàng. Khi mở SSMS, hộp thoại Connect to Server sẽ xuất hiện. Bạn chọn loại máy chủ là Database Engine, nhập tên máy chủ (Server Name) và thông tin đăng nhập.

Nếu bạn sử dụng tài khoản cục bộ, hãy chọn Windows Authentication. Còn trong trường hợp quản trị từ xa hoặc dùng tài khoản hệ thống SQL riêng, chọn SQL Server Authentication và điền tên người dùng cùng mật khẩu tương ứng. Sau khi đăng nhập thành công, bạn sẽ thấy danh sách các database hiện có trong khung Object Explorer ở phía bên trái màn hình.

Thao tác Attach Database từng bước

Khi đã vào được giao diện SSMS, bạn tiến hành attach database theo các bước sau:

Bước 1: Trong khung Object Explorer, nhấn chuột phải vào thư mục Databases, chọn Attach. Lúc này, hộp thoại “Attach Databases” sẽ xuất hiện để bạn chọn file dữ liệu muốn khôi phục.

 

Bước 2: Nhấn nút Add trong hộp thoại, sau đó duyệt đến thư mục nơi lưu trữ file dữ liệu .MDF của database cần attach.
Ví dụ, file có thể nằm ở đường dẫn: C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\DATA\YourDatabase.mdf

 

Bước 3: Sau khi chọn file .MDF, hệ thống sẽ tự động tìm và điền file log tương ứng (.LDF) nếu có trong cùng thư mục. Nếu file log không tồn tại (ví dụ bạn chỉ có file .MDF), SQL Server vẫn có thể tạo mới file log trong quá trình attach.

 

Bước 4: Kiểm tra lại thông tin hiển thị trong hộp thoại. Ở đây, bạn sẽ thấy danh sách file dữ liệu, vị trí lưu trữ, kích thước file và trạng thái của từng thành phần. Nếu mọi thứ hợp lệ, nhấn OK để bắt đầu quá trình attach.

 

SQL Server sẽ tự động đọc cấu trúc của file, đăng ký database này vào hệ thống và hiển thị thông báo thành công khi hoàn tất.

Kiểm tra kết quả sau khi Attach thành công

Sau khi bạn attach xong, hãy kiểm tra lại xem cơ sở dữ liệu đã hoạt động bình thường chưa.
Cách dễ nhất là mở Object Explorer trong SQL Server Management Studio (SSMS). Nếu bạn thấy tên database của mình xuất hiện trong danh sách, điều đó có nghĩa là việc attach đã thành công.

Cách Attach Database trong SQL Server bằng SSMS (SQL Server Management Studio)

Cách Attach Database bằng lệnh T-SQL

Ngoài việc sử dụng giao diện đồ họa trong SQL Server Management Studio (SSMS), bạn còn có thể thực hiện thao tác Attach Database bằng lệnh T-SQL. Cách này đặc biệt hữu ích khi bạn làm việc từ xa hoặc cần tự động hóa thao tác trong các script quản trị hệ thống.

Cú pháp cơ bản của lệnh Attach Database

Giả sử bạn có hai tệp dữ liệu:

- Tệp chính có đuôi .mdf (chứa toàn bộ dữ liệu)

- Tệp log có đuôi .ldf (ghi lại lịch sử giao dịch)

 

Khi muốn gắn lại cơ sở dữ liệu, bạn cần tạo một database mới dựa trên hai tệp này. Lệnh T-SQL sẽ có dạng như: “Tạo một cơ sở dữ liệu mới có tên là TenDatabase, sử dụng file dữ liệu ở đường dẫn C:\Data\To Database.mdf và file log ở đường dẫn C:\Data\Ten Database_log.ldf, sau đó gắn cơ sở dữ liệu này vào SQL Server để sử dụng.”

 

Hiểu đơn giản, câu lệnh này bảo SQL Server: “Hãy dùng hai tệp .mdf và .ldf này để khôi phục lại cơ sở dữ liệu cũ.” Sau khi thực thi, nếu hai tệp hợp lệ và không bị hỏng, SQL Server sẽ tự động đưa database trở lại trạng thái hoạt động.

Cách Attach khi không có file log (.ldf)

Nếu bạn làm mất tệp log (.ldf), vẫn có thể Attach được database bằng cách yêu cầu SQL Server tự tạo lại file log mới. Câu lệnh trong trường hợp này có thể hiểu như sau:

“Tạo cơ sở dữ liệu mới dựa trên file dữ liệu chính (.mdf) và tự động tạo một file log mới để thay thế.”

 

Tuy nhiên, cần lưu ý là cách này chỉ nên áp dụng khi không còn file log cũ, vì trong quá trình tạo lại log mới, một số dữ liệu chưa được ghi nhận đầy đủ có thể bị mất. Do đó, trước khi sử dụng phương pháp này, hãy chắc chắn rằng bạn đã sao lưu dữ liệu quan trọng hoặc kiểm tra tính toàn vẹn của tệp .mdf.

Một số lưu ý quan trọng khi Attach Database

Không attach database đang được sử dụng ở máy khác

Nếu file dữ liệu vẫn đang được SQL Server khác quản lý, hệ thống sẽ báo lỗi “Database is in use”. Hãy chắc chắn rằng database đã được detach hoàn toàn hoặc máy chủ cũ đã ngắt kết nối.

Nên backup dữ liệu trước khi Attach

Trước khi attach database, đặc biệt là khi di chuyển dữ liệu giữa môi trường thật và thử nghiệm, bạn nên sao lưu toàn bộ file .mdf và .ldf. Điều này giúp tránh mất dữ liệu nếu quá trình attach thất bại hoặc file bị hỏng.

Giữ nguyên đường dẫn gốc của file dữ liệu để tránh lỗi

Một số phiên bản SQL Server cũ có thể gặp lỗi nếu bạn thay đổi đường dẫn file dữ liệu. Vì vậy, nên đặt lại file về đúng vị trí ban đầu hoặc cập nhật đường dẫn chính xác trong câu lệnh attach để đảm bảo an toàn.

Kết luận

Thao tác Attach Database trong SQL Server là kỹ năng quan trọng giúp quản trị viên và lập trình viên phục hồi, chia sẻ và di chuyển dữ liệu nhanh chóng giữa các hệ thống. Khi thực hiện đúng quy trình, bạn có thể đảm bảo an toàn và toàn vẹn dữ liệu. Việc thành thạo thao tác này không chỉ tiết kiệm thời gian mà còn duy trì sự ổn định và hiệu suất cho toàn bộ hệ thống cơ sở dữ liệu doanh nghiệp.


Nếu bạn đang tìm kiếm giải pháp quản lý, bảo vệ và tối ưu hóa cơ sở dữ liệu chuyên nghiệp, hãy tham khảo dịch vụ Viettel Database Service được phát triển bởi Viettel IDC, cung cấp khả năng lưu trữ an toàn, hiệu năng cao và khả năng mở rộng linh hoạt, phù hợp cho cả doanh nghiệp vừa và lớn trong kỷ nguyên số:
https://viettelidc.com.vn/viettel-database-service


Để tìm hiểu thêm về các sản phẩm, dịch vụ tại Viettel IDC, vui lòng liên hệ đến Viettel IDC:

- Hotline: 1800.8088 (miễn phí cước gọi)
- Fanpage: https://www.facebook.com/viettelidc
- Website: https://viettelidc.com.vn

Bình luận ()

Đăng nhập | Đăng ký
để gửi bình luận
Ý kiến của bạn sẽ được xét duyệt trước khi đăng.
Ý kiến của bạn sẽ được xét duyệt trước khi đăng.
Ý kiến của bạn sẽ được xét duyệt trước khi đăng.
Xem thêm bình luận

Tin liên quan

09/11/2026

Cổng SATA là gì? Cách nhận biết và kết nối ổ HDD, SSD

Cổng SATA là gì? Cách nhận biết cổng SATA trên mainboard, phân biệt các phiên bản và kiểm tra ổ HDD, SSD có tương thích trước khi nâng cấp.

09/11/2026

Microsoft Publisher là gì? Tổng quan về phần mềm thiết kế dàn trang

Microsoft Publisher là gì? Đây là phần mềm dàn trang của Microsoft, hỗ trợ thiết kế ấn phẩm bằng các mẫu có sẵn và công cụ sắp xếp văn bản, hình ảnh linh hoạt.

09/11/2026

Có nên sử dụng các công cụ Text to speech miễn phí? Ưu điểm và hạn chế

Có nên sử dụng các công cụ Text to Speech miễn phí? Cân nhắc chất lượng giọng đọc, hạn mức và quyền sử dụng để biết khi nào bản miễn phí đủ dùng hoặc cần nâng cấp.

09/11/2026

Kiến trúc Client Server là gì? Cách mô hình máy chủ - máy khách hoạt động

Kiến trúc Client Server là gì? Đây là mô hình máy khách - máy chủ, tổ chức việc gửi yêu cầu, xử lý và trao đổi dữ liệu trong các ứng dụng và dịch vụ mạng.

09/11/2026

Cấu trúc silo là gì trong SEO? Cách xây dựng cấu trúc silo cho website

Cấu trúc silo là gì? Nắm rõ cách phân nhóm nội dung, phân biệt silo vật lý và silo ảo để xây dựng website dễ điều hướng, thuận tiện quản lý và hỗ trợ SEO.

09/11/2026

Top 15 các phần mềm quay lại màn hình miễn phí cho máy tính và điện thoại

Các phần mềm quay lại màn hình miễn phí giúp bạn ghi hình rõ nét, lưu lại thao tác và tạo video hướng dẫn trực quan cho nhu cầu học tập, làm việc hằng ngày.

09/11/2026

Postfix là gì? Hướng dẫn cài đặt và cấu hình trên Ubuntu

Postfix là gì được giải đáp qua vai trò của phần mềm chuyển thư mã nguồn mở, giúp doanh nghiệp chủ động quản lý luồng email và cấu hình hệ thống trên Linux.

09/11/2026

Cách quét mã độc cho website WordPress và lưu ý bảo mật cần biết

Cách quét mã độc cho website WordPress giúp phát hiện tệp đáng ngờ, xác định dấu vết xâm nhập và hỗ trợ xử lý sớm nguy cơ ảnh hưởng đến dữ liệu, người truy cập.

09/11/2026

Top 20 các plugin hữu ích cho WordPress tốt nhất nên cài đặt

Các plugin hữu ích cho WordPress giúp mở rộng chức năng sẵn có của website, cải thiện trải nghiệm người dùng và đơn giản hóa công việc quản trị hằng ngày.

09/11/2026

Hướng dẫn cài đặt các ứng dụng trên Ubuntu cho người mới

Hướng dẫn cài đặt các ứng dụng trên Ubuntu chi tiết từng bước, giúp người mới dễ dàng thao tác từ tải phần mềm, thiết lập gói cài đến khởi chạy ứng dụng.