22/08/2018, 11:44

Sử dụng câu lệnh ALTER DATABASE để di chuyển DATABASE trong SQL Server

Về mặt kỹ thuật, bạn có thể dùng cú pháp ALTER DATABASE để di chuyển bất cứ file cơ sở dữ liệu hệ thống hoặc người dùng tự định nghĩa, khởi tạo ngoại trừ đối với database của Resource. Để di chuyển những file dữ liệu này, các bạn cần: Chỉ định rõ tên và đường ...

Về mặt kỹ thuật, bạn có thể dùng cú pháp ALTER DATABASE để di chuyển bất cứ file cơ sở dữ liệu hệ thống hoặc người dùng tự định nghĩa, khởi tạo ngoại trừ đối với database của Resource. Để di chuyển những file dữ liệu này, các bạn cần:

  • Chỉ định rõ tên và đường dẫn của file.
  • Đường dẫn đầy đủ của file dữ liệu mới.

Lưu ý là nếu làm theo cách này thì bạn chỉ có thể di chuyển từng file trong 1 lần thực hiện mà thôi. Cấu trúc tổng quát của ALTER DATABASE bao gồm:

1. Tìm tên và file log của database bằng câu lệnh:

USE master SELECT name, physical_name FROM sys.master_files WHERE database_id = DB_ID("Personnel");

2. Set thành chế độ OFFLINE:

ALTER DATABASE Personnel SET offline GO

3. Di chuyển file đến vị trí mới bằng lệnh:

ALTER DATABASE Personnel MODIFY FILE ( NAME = Personnel_Data, FILENAME = "C:DataPersonnel_Data.mdf") GO

4. Lặp lại các lệnh trên với các data và file log khác.

5. Sau khi xong xuôi, thiết lập chế độ ONLINE bằng lệnh:

ALTER DATABASE Personnel SET online GO

Và sau cùng, kiểm tra lại các sự thay đổi của database:

USE master SELECT name, physical_name FROM sys.master_files WHERE database_id = DB_ID("Personnel");

Hoặc bên cạnh đó, nếu bạn muốn di chuyển dữ liệu theo đường dẫn full-text thì chỉ cần khai báo đường dẫn mới thay vì đường dẫn mới + tên file như thường lệ. Các bước đầy đủ như sau:

1. Đặt chế độ OFFLINE cho database bằng lệnh:

ALTER DATABASE database_name SET offline GO

2. Di chuyển từng file một bằng lệnh:

ALTER DATABASE database_name MODIFY FILE ( NAME = logical_name, FILENAME = "new_path". GO

3. Làm tương tự như trên với các file catalog khác.

4. Set cho database thành ONLINE bằng lệnh:

ALTER DATABASE database_name SET online GO

Một số chú ý cần biết khi dùng lệnh ALTER DATABASE, các bạn tham khảo thêm tại đây. Chúc các bạn thành công!

0