Filegroup: Backup Files and Filegroups (SQL Server)
Trong bài trước, chúng ta đã đề cập tới việc “người dùng nên tạo thêm các Filegroup để lưu trữ dữ liệu của Database” - xem thêm tại đây
Trong bài này, chúng ta sẽ cùng trao đổi về việc làm sao đểcó thể Backup/Restore Files and Filegroups của Database.
Khi kích thước của Database đủ lớn hoặc do yêu cầu cần phảiđảm bảo về hiệu năng của các Database đang hoạt động, việc tạo một bản BackupFull cho Database sẽ trở nên không khả thi. Trong trường hợp này, bạn cần phảicó một phương án thay thế để giải quyết nan đề trên – một bản Backup chứa dữ liệucủa một hoặc nhiều data file (hoặc Filegroups).
Trước khi bắt đầu, bạncần lưu ý một số vấn đề sau:
· Mệnh đề BACKUP không được phép nằm trong mộttransaction dù là transaction rõ ràng (explicit transaction) hay transaction ngầm(implicit transaction).
· Nếu Database đang hoạt động ở chế độ “Simplerecovery model”, những file read/write (datafile cho phép cả đọc và ghi) phảiđược backup cùng với nhau. Điều này là để đảm bảo rằng Database có thể đượcrestore (khôi phục) về một thời điểm nhất quán trong quá khứ.
Thay vì việc phải chỉ định từngread/write file hoặc Filegroup, chúng ta có thể sử dụng tùy chọn READ_WRITE_FILEGROUPS.Tùy chọn này sẽ Backup toàn bộ các read/write Filegroups ở trên Database. Một bảnbackup được tạo ra bởi tùy chọn READ_WRITE_FILEGROUPS được biết đến như là mộtloại Partial backup (sao lưu từng phần).
Khuyến cáo:
- Ở chế độ mặc định, mỗi lần Backup thành công, chúng ta cóthể tìm thấy một thông báo được lưu ở trong system event log (với flag = 3226).Nếu tần suất Backup là thường xuyên, các bản ghi log này sẽ rất nhiều và làmcho việc tìm kiếm các loại system event log khác trở nên khó khăn hơn. Bạn hoàntoàn có thể lọc bỏ những flag = 3226 này trong system event log nếu bạn muốn.
Backup files vàFilegroups sử dụng SSMS (SQL Server Managerment Studio)
1. Kết nối tới Database Instance.
2. Phải chuột vào tên Database cần Backup, chọn Task, sau đó chọn Back up
3. Chọn kiểu backup (Backup type): Full hoặc Differential.
4. Ở lựa chọn thành phần cần backup (Backup component), chọn File and Filegroups. Trong cửa sổ “Select Files and Filegroups”, chọn các Files và Filegroups cần backup. Bạn có thể lựa chọn từng file riêng lẻ hoặc bạn có thể chọn một Filegroups để backup tất cả các file ở trong Filegroups đó.
5. Tên của backup set sẽ được tự động hiển thị một cách mặc định, bạn có thể đổi tên backup set nếu muốn.
6. Ở cửa sổ mô tả (Description), bạn có thể nhập một vài thông tin mô tả cho backup set – đây là một tùy chọn không bắt buộc.
7. Thiết lập thời gian hết hạn của backup set:
- Bạn có thể lựa chọn thiết lập số ngày hết hạn cho backup set bằng cách chọn After và nhập số ngày. Giá trị ngày được phép nhập là từ 0 tới 999999 ngày. Giá trị 0 sẽ được hiểu là backup set sẽ không bao giờ bị hết hạn.
- Bạn cũng có thể chỉ định rõ bản backup set sẽ hết hạn vào một ngày cụ thể bằng cách chọn On và nhập ngày hết hạn.
8. Lựa chọn nơi lưu trữ bản backup bằng cách chọn Disk hoặc Tape. Để lựa chọn đường dẫn tới nơi sẽ chứa bản backup, chọn Add (có thể lựa chọn tối đa là 64 ổ disk hoặc tape để chứa một backup set).
9. Để lựa chọn các tính năng nâng cao, chọn Options ở cửa sổ ‘Select a page’.
10. Overwrite media sẽ cho phép người dùng có các lựa chọn sau:
- ‘Append to the existing backup set’ là lựa chọn cho phép Backup set mới sẽ nối tiếp vào Backup set trước đó.
- ‘Overwrite all existing backup set’ SQL Server sẽ thực hiện ghi đè Backup set mới vào các Backup set trước đó.
- ‘Check media set name and backup set expiration’ nếu sử dụng tùy chọn này, SQL Server sẽ kiểm tra xem Backup set đã bị hết hạn hay chưa.
- ‘Back up to a new media set, and erase all existing backup sets‘: khi lựa chọn tạo một media set và một backup set mới, người dùng sẽ cần phải nhập tên của chúng.
11. Reliability
- ‘Verify backup when finished’, ‘Perform checksum before writing to media’, ‘Continue on error’ là các tùy chọn làm tăng độ tin cậy của bản backup dữ liệu.
12. Compression: kể từ SQL Server 2008, SQL đã hỗ trợ việc nén (compression) các bản backup. Người dùng sẽ có 3 lựa chọn:- ‘Append to the existing backup set’ là lựa chọn cho phép Backup set mới sẽ nối tiếp vào Backup set trước đó.
- ‘Overwrite all existing backup set’ SQL Server sẽ thực hiện ghi đè Backup set mới vào các Backup set trước đó.
- ‘Check media set name and backup set expiration’ nếu sử dụng tùy chọn này, SQL Server sẽ kiểm tra xem Backup set đã bị hết hạn hay chưa.
- ‘Back up to a new media set, and erase all existing backup sets‘: khi lựa chọn tạo một media set và một backup set mới, người dùng sẽ cần phải nhập tên của chúng.
11. Reliability
- ‘Verify backup when finished’, ‘Perform checksum before writing to media’, ‘Continue on error’ là các tùy chọn làm tăng độ tin cậy của bản backup dữ liệu.
- Use the default server setting: sử dụng thiết lập mặc định của hệ thống.
- Compress backup: có thực hiện nén dữ liệu.
- Do not compress backup: không thực hiện nén dữ liệu.
Back up files and filegroups using T-SQL
1. Để tạo một bản backup cho data file hoặc Filegroup, người dùng có thể sử dụng mệnh đề: BACKUP DATABASE <file_or_filegroup>Để mệnh đề trên có thể hoạt động được, chúng ta cần tối thiểu những tham số sau:
- Tên Database.
- Từ khóa FILE hoặc FILEGROUP kèm theo tên của chúng.
- Nơi mà file backup sẽ được tạo ra (TAPE hoặc DISK có kèm đường dẫn cụ thể)
Cú pháp dùng để backup có thể được viết một cách đơn giản như sau:
BACKUP DATABASE database
{ FILE =logical_file_name | FILEGROUP =logical_filegroup_name } [ ,...f ]
TO backup_device [ ,...n ]
[ WITH with_options [ ,...o ] ] ;
2. Nếu Database đang hoạt động ở chế độ 'Full recovery model', bạn bắt buộc phải thực hiện backup thêm cả Transaction log.
Để có thể Restore Database bằng các file backup đã có, bạn cần phải có các bản backup Transaction Log được nối vào với bản backup File hoặc Filegroup đầu tiên.
Examples (Transact-SQL)
Trong ví dụ dưới đây, chúng ta sẽ thực hiện với database [Sales]. Database này hoạt động ở chế độ 'full recovery model' vầ có chứa 2 Filegroups:- Một filegroup tên là: SalesGroup1 có chứa 2 file: SGrp1Fi1 và SGrp1Fi2
- Một filegroup tên là: SalesGroup2 có chứa 2 file: SGrp2Fi1 và SGrp2Fi2
A. Tạo một bản backup của 2 file:
Câu lệnh dưới đây sẽ thực hiện backup file SGrp1Fi2 của Filegroup SalesGroup1 và file SGrp2Fi2 của Filegroup SalesGroup2
-- Backup file
BACKUP DATABASE Sales
FILE = 'SGrp1Fi2',
FILE = 'SGrp2Fi2'
TO DISK = 'G:\SQL_Backups\Sales\SalesGroup1.bak';
GO
B. Tạo một bản backup đầy đủ của 2 Filegroup SalesGroup1 và SalesGroup2
--Backup 2 Filegroups
BACKUP DATABASE Sales
FILEGROUP = 'SalesGroup1',
FILEGROUP = 'SalesGroup2'
TO DISK = 'G:\SQL_Backups\Sales\Salefiles.bak';
GO
--Backup sự thay đổi 2 Filegroups
BACKUP DATABASE Sales
FILEGROUP = 'SalesGroup1',
FILEGROUP = 'SalesGroup2'
TO DISK = 'G:\SQL_Backups\Sales\Salefiles.bak'
WITH
DIFFERENTIAL;
GO
Nhận xét
Đăng nhận xét