Backup và khôi phục SQL 2008 – Phần 1
Don Schlichting Quản Trị Mạng - Trong bài này, chúng tôi sẽ giới thiệu cho các bạn việc backup và khôi phục cơ sở dữ liệu SQL Server. Ngoài việc giới thiệu các tùy chọn backup chuẩn như Full Backups và Differential Backups, các tính năng mới của SQL ...
Don Schlichting
Quản Trị Mạng - Trong bài này, chúng tôi sẽ giới thiệu cho các bạn việc backup và khôi phục cơ sở dữ liệu SQL Server. Ngoài việc giới thiệu các tùy chọn backup chuẩn như Full Backups và Differential Backups, các tính năng mới của SQL Server 2008 như Backup Compression cũng sẽ được giới thiệu trong loạt bài này. Backup từ SQL Server Management Studio cũng như từ tiện ích dòng lệnh. Bên cạnh đó còn có việc backup cơ sở dữ liệu hệ thống cho người dùng đã tạo các cơ sở dữ liệu. Xem xét đến Scheduled Backups, kiểm tra độ bảo mật và các vấn đề đăng nhập có liên quan đến việc chuyển cơ sở dữ liệu từ máy chủ test sang máy sản xuất.
Full Backup
Để bắt đầu, chúng tôi bắt đầu bằng giới thiệu về Full Backups, Full Backups có thể được hiểu là một cách đơn giản nhất để cung cấp một giải pháp backup hoàn tất. Full Backup sẽ tạo một file chứa toàn bộ cơ sở dữ liệu, gồm có Transaction Logs. (Trong phần tiếp theo chúng tôi sẽ giới thiệu về Transaction Logs và các mô hình khôi phục Recovery Models). Khi xem một cơ sở dữ liệu từ bên trong SQL Server Management Studio Object Explorer, bạn sẽ bắt gặp một số đối tượng khác nhau như Tables, Views, Stored Procedures và Security.
Tất cả các đối tượng này đều được gộp bên trong một file backup đầy đủ của SQL Server. Để tạo một backup, bạn hãy kích vào cơ sở dữ liệu, chọn Tasks sau đó kích Backup. Thao tác này sẽ làm xuất hiện cửa sổ “Back Up Database” với các thiết lập General. Source sẽ được điền bằng cơ sở dữ liệu mà bạn chọn. Bảo đảm rằng tùy chọn “Full” phải được lựa chọn cho kiểu backup này.
Các tùy chọn khác như Differential và Transaction Log cũng sẽ được giới thiệu đến trong phần sau. Trong phần Backup Component, bạn hãy chọn Database.
Một nút tùy chọn khác là “Files and Filegroups” cũng được sử dụng khi cơ sở dữ liệu đã được tạo để mở rộng thành nhiều file trên hệ điều hành. Vấn đề này đôi khi được thực hiện trên các cơ sở dữ liệu rất lớn nhằm tăng vấn đề hiệu xuất. Nếu bạn nằm trong trường hợp này, hãy chọn cơ sở dữ liệu có bất kỳ và tất cả Filegroup.
Tiếp đến, đặt tên cho backup và phần mô tả cho nó.
Phần tiếp theo “Backup set will expire” có thể được sử dụng khi backup vào băng hoặc tạo các nhóm backup “Media Sets”. Trong ví dụ này, chúng tôi sẽ backup vào môt ổ đĩa cứng vì vậy mặc định sẽ là “sau 0” ngày.
Tùy chọn cuối cùng trên màn hình này định vị địa điểm cho backup. Mặc định SQL Server sẽ đặt tất cả các backup vào thư mục MSSQLBackup. Các backup được kết thúc bằng một mở rộng .BAK. Dù điều này là không cần thiết nhưng bạn cần lưu ý rằng có nhiều file đích có thể được chỉ định như hình bên dưới.
Điều này có thể cho phép các backup SQL trải rộng trên các đĩa cứng khác. Trong ví dụ trên, cả hai file đều được yêu cầu cho Restore. Kỹ thuật này cũng có thể được sử dụng để mở rộng các backup trên nhiều băng khi môi trường của bạn quá nhỏ cho việc nắm giữ toàn bộ cơ sở dữ liệu trên một băng.
Để kiểm tra các lựa chọn, bạn hãy chọn “Options” từ menu phía trên bên phải.
Tập các tùy chọn đầu tiên được dán nhãn “Overwrite Media”.
Tập này được sử dụng điển hình khi backup vào băng. Còn khi backup vào ổ đĩa cứng, nếu bạn sử dụng tên duy nhất cho backup của bạn trên màn hình trước thì các tùy chọn này có thể được bỏ qua. Nếu tên backup không duy nhất, hãy chọn nút “Overwrite All existing backup sets”. Thao tác này sẽ tạo một file chỉ có backup gần nhất trong đó. Khi muốn khôi phục từ file này, bạn sẽ được nhắc nhở chọn thiết lập backup nào cư trú để khôi phục.
Trong phần tiếp theo, “Reliability”, chọn “Verify backup when finished” để bảo đảm backup của bạn hợp lệ.
Phần Transaction Log sẽ được hiển thị màu xám vì Full Backup sẽ tự động bỏ bớt file bản ghi.
Phần cuối cùng gồm có các tùy chọn cho việc nén (chỉ có cho SQL Server 2008). Tính năng nén Compression là một tính năng mới trong SQL Server 2008. Nó có thể giảm được đến 20% kích thước vật lý của file gốc. Nếu tính năng này được sử dụng, Restore sẽ tự động nhận ra file nén này. Tuy nhiên có một điểm yếu đối với tính năng này đó là chiếm dụng nhiều tài nguyên máy tính trong suốt quá trình backup.
Kích nút OK trong phần góc dưới bên phải để bắt đầu quá trình backup. Khi backup hoàn tất, một thông báo sẽ xuất hiện và nói rằng quá trình đã hoàn tất.
Dòng lệnh
Backup cũng có thể được thực hiện từ cửa sổ dòng lệnh hoặc bằng kịch bản. Để thực thi một backup bằng TSQL, bạn hãy mở một Query Window mới (Để mở Query Window, từ Management Studio, bạn kích nút New Query ở góc trên bên phải). Câu lệnh dưới đây sẽ thực thi Full backup vào ổ đĩa cứng.
BACKUP DATABASE AdventureWorksLT2008
TO DISK = 'C:Program FilesMicrosoft SQL ServerMSSQL10.MSSQLSERVERMSSQLBackup est.bak'
WITH FORMAT;
Câu lệnh backup bắt đầu bằng việc chỉ ra cơ sở dữ liệu được backup. Tuy nhiên không có cách nào để có thể thực hiện backup tất cả các cơ sở dữ liệu mà chúng chỉ có thể được thực hiện một cách riêng lẻ. Chúng tôi sẽ giới thiệu cho các bạn một kịch bản đơn giản và một nhiệm vụ trong đó có nhóm tất cả các cơ sở dữ liệu. Câu lệnh tiếp theo chỉ định rằng chúng ta sẽ backup vào đĩa và đích của file. Nếu chúng ta backup vào băng, hãy sử dụng “To TAPE” thay cho “To Disk”. Cuối cùng, “With Format” có nghĩa tạo một file mới. Không có câu lệnh cuối cùng nếu backup đã tồn tại thì backup mới của bạn sẽ gắn thêm vào nó.
Kết luận
Quả thực có nhiều tùy chọn và nhiều kiểu backup khác nhau cho SQL Server, tuy nhiên Full Backup sẽ vẫn là tùy chọn có chứa tất cả các đối tượng có lien quan đến một cơ sở dữ liệu. Trong phần tiếp theo của loạt bài này, chúng tôi sẽ giới thiệu đến việc khôi phục cơ sở dữ liệu cũng như việc kiểm tra Transaction Logs, Recovery Methods và các tùy chọn backup khác cùng cách quản lý chúng.