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

20/10/2026

Viettel IDC dẫn đầu bảng xếp hạng Enterprise of Choice 2026 tại nhiều hạng mục quan trọng

Viettel IDC đạt 6 thứ hạng nổi bật tại Enterprise of Choice 2026, trong đó có 5 vị trí Top 1 ở các hạng mục về công nghệ thông tin, phát triển bền vững, doanh nghiệp được yêu thích bởi người lao động, lãnh đạo và thế hệ trẻ. Kết quả ghi nhận những nỗ lực của doanh nghiệp trong xây dựng môi trường làm việc tích cực, lấy con người làm trung tâm.

20/10/2026

So sánh các dịch vụ cloud backup phổ biến tại Việt Nam

So sánh các dịch vụ cloud backup phổ biến tại Việt Nam về phạm vi sao lưu, bảo mật, khôi phục, chi phí và mô hình triển khai để doanh nghiệp dễ lựa chọn.

20/10/2026

Dịch vụ lưu trữ đám mây nào tốt nhất cho doanh nghiệp nhỏ 2026? 9 lựa chọn nên tham khảo

So sánh 9 dịch vụ lưu trữ đám mây cho doanh nghiệp nhỏ năm 2026: công cụ chia sẻ file, Object Storage trong nước và quốc tế, kèm tiêu chí chọn nhà cung cấp.

20/10/2026

Mua chứng chỉ SSL cho website ở đâu uy tín? 5 kênh mua và triển khai

Có 5 kênh mua và triển khai chứng chỉ SSL cho website: CA, đại lý trong nước, nhà cung cấp hosting, nhà đăng ký tên miền và CA miễn phí. Xem ưu nhược điểm và cách kiểm tra nơi bán uy tín.

20/10/2026

Lưu trữ ngoài có an toàn không? Rủi ro và cách bảo vệ dữ liệu doanh nghiệp

Lưu trữ dữ liệu bên ngoài có an toàn không? Phân tích rủi ro, các lớp bảo vệ cần có và tiêu chí chọn nhà cung cấp cho doanh nghiệp.

19/10/2026

VDS là gì? VDS khác VPS và Dedicated Server như thế nào?

VDS là gì, khác VPS và Dedicated Server ở điểm nào, ưu nhược điểm và trường hợp nên sử dụng.

19/10/2026

Cách triển khai observability cho ứng dụng đám mây và microservices như thế nào

Hướng dẫn triển khai observability cho ứng dụng đám mây và microservices qua 7 bước, từ xác định SLI/SLO đến tối ưu chi phí telemetry.

19/10/2026

Top nhà cung cấp dịch vụ Dedicated Server giá tốt, tốc độ ổn định tại Việt Nam

Tổng hợp các nhà cung cấp Dedicated Server tại Việt Nam, so sánh mô hình dịch vụ, cấu hình, Data Center, uptime, băng thông và giá công bố.

19/10/2026

Top nhà cung cấp dịch vụ Hosting và VPS uy tín tại Việt Nam

Top nhà cung cấp Hosting và VPS uy tín tại Việt Nam. So sánh hạ tầng, uptime, loại dịch vụ và các tiêu chí cần kiểm tra trước khi lựa chọn.

19/10/2026

Thuê Cloud GPU có đắt không?

Thuê Cloud GPU có đắt không phụ thuộc vào yếu tố nào? Phân tích các mô hình tính phí, chi phí ẩn và cách tối ưu ngân sách khi dùng GPU đám mây.