Giới Thiệu

Khi làm việc với SQL Server, việc sao lưu và khôi phục dữ liệu là vô cùng quan trọng. Trong bài viết này, chúng ta sẽ hướng dẫn cách khôi phục (restore) một database từ file .bak một cách an toàn và chính xác.

Bước 1: Chuyển Database về Chế Độ SINGLE_USER

Trước khi khôi phục, chúng ta cần chuyển database về chế độ đơn người dùng (SINGLE_USER) để tránh các kết nối đang hoạt động gây lỗi:

USE master;
ALTER DATABASE QuanLyKhoDienThoai SET SINGLE_USER WITH ROLLBACK IMMEDIATE;

Câu lệnh trên sẽ đảm bảo rằng không có kết nối nào khác đang sử dụng database cần khôi phục.

Bước 2: Thực Hiện Khôi Phục Database

Tiếp theo, chúng ta sẽ sử dụng lệnh RESTORE DATABASE để khôi phục database từ file .bak:

RESTORE DATABASE QuanLyKhoDienThoai
FROM DISK = 'C:\Backup\QuanLyKhoDienThoai.bak'
WITH REPLACE,
MOVE 'QuanLyHangMay' TO 'C:\Program Files\Microsoft SQL Server\MSSQL15.SQLEXPRESS\MSSQL\DATA\QuanLyKhoDienThoai.mdf',
MOVE 'QuanLyHangMay_log' TO 'C:\Program Files\Microsoft SQL Server\MSSQL15.SQLEXPRESS\MSSQL\DATA\QuanLyKhoDienThoai.ldf';

Giải thích:

  • FROM DISK = 'C:\Backup\QuanLyKhoDienThoai.bak': Chỉ định đường dẫn đến file sao lưu.
  • WITH REPLACE: Ghi đè database hiện có.
  • MOVE: Dùng để chỉ định đường dẫn mới cho file dữ liệu (.mdf) và file log (.ldf). Bạn cần kiểm tra tên logical file trong file .bak để thay thế đúng tên.

Bước 3: Chuyển Database về Chế Độ MULTI_USER

Sau khi khôi phục thành công, chúng ta cần chuyển database trở lại chế độ nhiều người dùng (MULTI_USER):

ALTER DATABASE QuanLyKhoDienThoai SET MULTI_USER;

Câu lệnh này cho phép nhiều người dùng có thể truy cập vào database bình thường.

Lưu Ý

  • Đảm bảo SQL Server có quyền đọc file .bak.
  • Kiểm tra tên logical file trong file .bak trước khi sử dụng lệnh MOVE. Bạn có thể dùng lệnh sau để kiểm tra:
RESTORE FILELISTONLY FROM DISK = 'C:\Backup\QuanLyKhoDienThoai.bak';
  • Nếu SQL Server đang chạy với tài khoản không có quyền truy cập thư mục backup, bạn có thể cần cấp quyền hoặc di chuyển file .bak đến thư mục có quyền truy cập phù hợp.

Kết Luận

Việc khôi phục database từ file .bak là một quy trình quan trọng giúp đảm bảo dữ liệu được khôi phục chính xác trong trường hợp cần thiết. Hy vọng bài viết này sẽ giúp bạn thực hiện thao tác này một cách dễ dàng và hiệu quả.

 

Leave a Reply

Your email address will not be published. Required fields are marked *