Di dời Log file sang thư mục khác trong SQL Server

Di dời Log file sang thư mục khác trong SQL Server

Tình huống

Bạn biết rằng việc lưu trữ Data file .MDF và Log file .LDF trên những đĩa cứng khác nhau sẽ giúp nâng cao hiệu năng truy xuất dữ liệu của SQL Server. Đồng thời giúp tăng cơ hội phục hồi về thời điểm ngay trước khi sự cố xảy ra (xem thêm ở bài viết 2 lý do bạn nên lưu trữ Data file và Log file trên những đĩa cứng khác nhau).

SQL Server của bạn vừa được gắn thêm disk mới (hoặc được cấp LUN mới trên SAN) và bạn muốn tiến hành di dời Log file sang thư mục mới (trên disk mới) để đạt được 2 mục đích trên. Nhưng bạn lo lắng không biết rằng thao tác di dời Log file có phức tạp, có gây lỗi đến database không?

Thực tế thao tác này rất đơn giản, khả năng bị lỗi hầu như không có. Bài viết bên dưới hướng dẫn bạn các bước tiến hành.

Chuẩn bị

Dù đơn giản nhưng bạn cũng cần các bước chuẩn bị sau để đảm bảo quá trình di dời Log file không gặp trở ngại nào:

  • Xem đường dẫn Data file và Log file của database cần di dời (tránh nhầm lẫn với file của database khác)
  • Kiểm tra vùng lưu trữ mới có đủ dung lượng chứa Log file
  • Xem xét thời điểm tiến hành để tránh ảnh hưởng end-user sử dụng các ứng dụng truy cập database (database không thể sử dụng trong quá trình di dời)

Để xem đường dẫn Data file và Log file, trong SQL Server Management Studio (SSMS), bạn chọn database > Properties > Files > Ở mục Database files, bạn xem giá trị PathFile Name để biết được đường dẫn vị trí Data file và Log file của database cần di dời.

Với T-SQL, bạn sử dụng stored procedure sp_helpfile để xem vị trí 2 file này:

USE zBackupDemoDB
GO
sp_helpfile
GO

Các bước tiến hành

1. Detach database

Trong giao diện SSMS, bạn sử dụng chức năng Detach để detach database.

Nếu giá trị mục Status là No Ready, nhiều khả năng do vẫn còn connection đang kết nối đến database. Bạn click vào hyperlink ở mục Message để xem thông báo lỗi chi tiết.

Nếu nguyên nhân do còn kết nối đến database, bạn chọn Drop Connection để SQL Server ngắt các kết nối đến database trước khi detach.

2. Di dời Log file sang thư mục mới

Trong Windows Explorer, bạn di dời Log file sang thư mục mới.

3. Attach lại database

Bạn attach lại database từ Data file (.MDF).  Tuy nhiên, vì lúc này Log file đã được di dời sang đường dẫn khác nên SQL Server không tìm thấy Log file (thông báo “Not Found” ở mục Message).

Bạn cần browse chọn Log file ở đường dẫn mới di dời đến.

Lưu ý:  Nếu mục Message không có thông báo “Not Found”, có thể do Log file ở thư mục cũ vẫn còn tồn tại. Vì thế, bạn cần browse và chọn Log file ở thư mục mới.

Free eBook: Download ebook 8 lưu ý quan trọng khi sao lưu & phục hồi SQL Server. Những kinh nghiệm hữu ích giúp bạn sao lưu an toàn và đảm bảo khả năng phục hồi khi sự cố mất dữ liệu xảy ra với database SQL Server.