Các dạng biến cố hay tai họa có thể xảy ra như: - Ðĩa chứa data file hay Transaction Log File hay system file bị mất, bị hư hỏng - Những thảm họa tự nhiên như bão lụt, động đất, hỏa hoạn
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC HÙNG VƯƠNG TP.HCM
KHOA CÔNG NGHỆ THÔNG TIN
BÁO CÁO HƯỚNG NGHIỆP KHÓA 2008
ĐỀ TÀI
TÌM HIỂU VÀ TRIỂN KHAI CÁC TÍNH NĂNG PHÒNG TRÁNH THẢM HỌA VÀ PHỤC HỒI DỮ
LIỆU CHO SQL SERVER 2008 R2
SINH VIÊN THỰC HIỆN:
TRẦN NGUYỄN PHƯỢNG UYÊN
GIẢNG VIÊN HƯỚNG DẪN:
TS NGUYỄN MINH HOÀNG
KHÓA HỌC: 2008 - 2012
LỜI NHẬN XÉT CỦA GIÁO VIÊN:
Trang 2Mục lục:
Lời mở đầu……….4
Chương I: Giới thiệu chung về SQL Server 2008 R2……….5
Chương II: Những điểm mới trong SQL 2008 R2……….9
Chương III: Các tính năng mới trong SQL Server 2008 R2……… 13
Chương IV: Backup (sao lưu) CSDL trong SQL Server 2008 R2……….15
Trang 3LỜI MỞ ĐẦU
Trong suốt chu kỳ sống của một database (cơ sở dữ liệu), việc xảy ra sự cố làm hư hỏng mất mát dữ liệu là chuyện khó tránh khỏi
Các dạng biến cố hay tai họa có thể xảy ra như:
- Ðĩa chứa data file hay Transaction Log File hay system file bị mất, bị hư hỏng
- Những thảm họa tự nhiên như bão lụt, động đất, hỏa hoạn
- Toàn bộ server bị đánh cắp hoặc phá hủy
- Các thiết bị dùng để backup - restore bị đánh cắp hay hư hỏng
- Những lỗi do vô ý của user như lỡ tay xóa, thao tác sai làm hư cơ sở dữ liệu
- Những hành vi mang tính phá hoại của nhân viên như cố ý đưa vào những thông tin sai lạc
- Bị hack (nếu server có kết nối với internet)
Vì vậy phải luôn có biện pháp bảo vệ cơ sở dữ liệu một cách an toàn nhất, bên cạnh đó cũng phải tự hỏi khi các vấn đề trên xảy ra thì phải làm sao để khôi phục lại dữ
Trang 4liệu đã hư, mất và phục hồi một cách nhanh nhất để đưa server trở lại hoạt động một cách bình thường.
Để tránh và hoặc ít nhất là hạn chế tối đa mất mát dữ liệu do các sự cố nêu trên, là một người quản lý hệ thống cơ sở dữ liệu cần phải bảo quản cơ sở dữ liệu của mình một cách hợp lý nhất, giảm tối đa số lần phải phục hồi dữ liệu, luôn theo dõi, kiểm tra thường xuyên để phát hiện các trục trặc trước khi nó xảy ra
Và để có thể phục hồi dữ liệu khi gặp các biến cố trên phải biết cách backup (sao lưu) và restore (khôi phục) dữ liệu và sắp xếp lịch trình backup dữ liệu một cách hợp lý
để bảo quản cơ sở dữ liệu của mình một cách an toàn nhất Đối với một thư mục hay những tập tin bình thường thì việc sao lưu và copy ngược trở lại là vô cùng đơn giản là chỉ cần copy vào một thiết bị lưu trữ khác, để phòng khi gặp sự cố gây mất mát dữ liệu thì có thể copy ngược trở lại
Còn đối với database trong SQL thì việc backup diễn ra có khác hơn, khi hệ thống đang vận hành thì không thể đơn giản copy các data file và log file vì chúng bị khóa hoàntoàn Phải dựa vào cơ chế backup của hệ QTCSDL
Chương I: Giới thiệu chung về SQL Server 2008 R2:
Microsoft SQl server là một hệ quản trị cơ sở dữ liệu quan hệ (relational database management system – RDBMS) do Microsoft phát triển SQL Server là một hệ quản trị cơ sở dữ liệu quan hệ mạng máy tính hoạt động theo mô hình khách chủ cho phép đồng thời cùng lúc có nhiều người dùng truy xuất đến dữ liệu, quản lý việc truy nhập hợp lệ và các quyền hạn của từng người dùng trên mạng
Ngôn ngữ truy vấn quan trọng của Microsoft SQL server là Transact-SQL
Trang 5Quay lại lịch sử, lúc đầu Microsoft đã quay sang kết hợp với công ty Sybase để cùng hợp tác làm ra một sản phẩm thuộc loại hệ quản trị cơ sở dữ liệu (Database Management System) Với sự hợp tác tốt đẹp, hai công ty này đã thành công cho ra đời một sản phẩm thuộc loại cơ sở dữ liệu có tên là Ashton-Tate vào năm 1989, sản phẩm này hoạt động trên môi trường OS/2
Sau đó một thời gian, Sybase đã phát triển sản phẩm này trên môi trường UNIX vàđổi tên riêng là DataServer mà ngày nay còn có tên khác là Sybase Adaptive Server Microsoft quyết định không phát triển hệ điều hành OS/2 mà thay vào đó cho ra đời một hệ điều hành mạng máy tính có tên là Windows NT Server Và thế là SQL
Serverchỉ hoạt động độc lập trên môi trường Windows NT Server mà thôi Lần lượt các phiên bản của Microsoft SQL Server đã ra đời sau sự kiện này, từ 4.2 sau đó đượcnâng cấp thành 4.21, 6.0, 6.5, 7.0 và hiện giờ là Microsoft SQL Server 2000, 2005 và mới nhất là Microsoft SQL Server 2008
Theo dòng lịch sử phát triển:
SQL có nhiều phiên bản:
- SQL Server 2005: SQL Server 2005, được phát hành vào tháng 11 năm 2005, là
Trang 6xử lý giao dịch trực tuyến trên diện rộng OLTP ( large-scale online transactional processing), ứng dụng thương mại điện tử (e-commerce applications) và kho dữ liệu (data warehousing) Ngoài ra, những cải tiến quan trọng trong SQL Server 2005 là thêm các dịch vụ mới như: dịch vụ báo cáo Reporting Services, Service Broker và sự thay đổi đáng kể trong Database Engine.
- SQL Server 2008:Đây là phiên bản mới nhất của SQl Server, có tên mã là
“katmai” Ngày 27/02/2008 , Microsoft tổ chức một sự kiện có tên Heroes Happen Here nhằm giới thiệu sản phẩm mới SQL Server 2008 (cùng với những sản phẩm khác như Windows Server 2008; Visual Studio 2008) Bản SQL Server 2008 Release Candidate sẽ được trình làng trong quý II, trong khi đó, bản hoàn chỉnh sẽ mắt trong quý III (2008)
Microsoft SL Server 2008 – người bạn đường tin cậy:
Để xứng đáng là một người bạn đường tin cậy, Microsoft SQL server 2008 có những điểm mới, tiến bộ sau:
-Một trong điểm nổi bật khi xem xét về SQL Server 2008 của Microsoft là tính năng phân loại biệt ngữ mới và các lợi ích vào trong nhóm hoặc các vùng chính Có bốn vùng chính đó là Enterprise Data Platform, Dynamic Development, Beyond Relational Database, và Pervasive Insight
-SQL Server 2008 có tác dụng đòn bẩy cho công nghệ NET 3.0 (Dot Net
Framework 3.0) với LINQ (Language Integrated Query – ngôn ngữ truy vấn tích hợp) Thêm vào đó là sự hỗ trợ hiệu quả hơn cho các thực thể dữ liệu doanh nghiệp cùng với các tùy chọn đồng bộ dữ liệu
Tóm lại: SQL Server 2008 có nhiều cải thiện hữu dụng và thiết thực Có liệt kể
một cách sơ lược như sau:
- Mã hóa dữ liệu: trong suốt cho phép toàn bộ cơ sở dữ liệu, các bảng và dữ liệu cóthể được mã hóa mà không cần phải lập trình ứng dụng Trong SQL Server 2008, toàn
Trang 7-Cuối cùng, có một số tùy chọn mới cho External Key Management Nếu có dính dáng tới việc xử lý thẻ tín dụng hoặc PCI (thẻ trả trước), thì SQL Server 2008 sẽ hỗ trợ Hardware Security Modules (HSM) – mô đun bảo mật phần cứng Các mô đun này là giải pháp phần cứng của nhóm thứ ba được sử dụng để lưu các Key ở một địa điểm phân biệt với dữ liệu mà chúng bảo vệ.
- Backup có thể được mã hóa để ngăn chặn việc lộ và thay đổi dữ liệu Sự thay đổi và truy cập dữ liệu có thể được thẩm định Thêm vào việc thẩm định chuẩn cho logon / logoff và các thay đổi được phép, SQL Server 2008 cho phép kiểm tra sự thay đổi haytruy cập dữ liệu
- Fact Tables có thể được nén với hiệu suất cao SQL Server Data Compression đã thực sự thực hiện được mục tiêu chính là giảm kích thước của Fact Table Vì vậy liên quan với việc lưu trữ trên các ổ đĩa cứng, với các file vật lý nhỏ hơn, số lần backup được giảm
- Tài nguyên chủ có thể được bảo đảm an toàn Quản lý tài nguyên - Resource Governor - trong SQL Server 2008 cũng là một điểm mới Governor được sử dụng để hạn chế người dùng hoặc nhóm người dùng chi phối các lớp tài nguyên mức cao Điểm mới trong SQL Server 2008 phải kể đến nữa là Performance Studio Studio là một trong các công cụ hiệu suất Cùng với đó chúng có thể được sử dụng cho việc kiểm tra, xử lý sự cố, điều chỉnh và báo cáo Thành phần Data Collector của Studio cóthể cấu hình Nó hỗ trợ một số phương pháp chọn gồm có các truy vấn TSQL, SQL Trace, và Perfmon Counters Dữ liệu cũng có thể được chọn bằng lập trình Khi dữ liệu được chọn, có các tùy chọn báo cáo chung
- SQL 2008 hỗ trợ Hot Plug CPU trong SQL Server 2008, các CPU cắm thêm có thể được bổ sung vào nếu phần cứng của hệ thống hỗ trợ nó
- Bộ đếm hiệu suất được mở rộng Số bộ đếm hiệu suất trong SQL Server 2008 đã được mở rộng hơn so với phiên bản trước đó IO và các bộ đếm hiệu suất bộ nhớ là một cặp có thể được chọn để kiểm tra hiệu suất Dữ liệu đã được chọn bằng bộ đếm sẽđược lưu trong trung tâm lưu dữ liệu tập trung Microsoft phát biểu rằng việc chạy thiết lập hiệu suất mặc định liên quan đến các kiểm tra sẽ tốn ít hơn 5% tài nguyên bộ nhớ và CPU.Có một công cụ Performance Dashboard có thể đọc dữ liệu hiệu suất đã được lưu
- Việc cài đặt đã được đơn giản hóa Bộ đặt SQL Server 2008 cũng có nhiều nâng cao Dữ liệu cấu hình và các bit “engine” được tách biệt vì vậy nó có thể tạo một đĩa
hệ thống không cấu hình cơ bản phân phối đến một số máy chủ dễ dàng hơn Cài đặt
có thể cập nhật được các nâng cấp mới nhất từ website Microsoft Tính năng khác là
Trang 8khả năng cài đặt SQL Server, gói dịch vụ và các bản vá Đi cùng với tính năng này là khả năng gỡ bỏ cài đặt các gói dịch vụ một cách dễ dàng.
Trang 9Chương II: Những điểm mới trong SQL 2008 R2
Sự hỗ trợ SQL Server 2000 kết thúc
Sự trợ giúp cho SQL 2000 đang dần đến hồi kết Tính năng và lợi ích có trong hỗ trợ gồm có khả năng đệ trình các yêu cầu thay đổi tính năng sản phẩm, nâng cấp bảo mật, các Hotfix, hỗ trợ miễn phí và hỗ trợ thu phí Sự trợ giúp này sẽ hết hạn vào 8/4/2008 đối với một loạt sản phẩm SQL Server 2000 64-bit Edition, SQL Server 2000 Developer, SQL Server 2000 Enterprise, SQL Server 2000 Standard, SQL Server 2000 CE, và SQL Server 2000 Workgroup Edition
Hỗ trợ mở rộng gồm có các nâng cấp bảo mật và hỗ trợ trả phí sẽ tiếp tục cho tới năm
2013 Mô tả về các giai đoạn hỗ trợ có thể xem tại URL của Microsoft: “Microsoft
Support Lifecycle” và “Microsoft Support Lifecycle Policy FAQ” Một số đại lý sẽ không tiếp tục bán SQL 2000 trong tháng 12/2007 Cũng không có phiên bản SQL 2000 nào còn được hỗ trợ trên Vista, bao gồm cả SQL 2000 Express
Các vùng chính
Một trong các mục đầu tiên được chú ý khi xem xét về SQL Server 2008 của Microsoft
là tính năng phân loại biệt ngữ mới và các lợi ích vào trong nhóm hoặc các vùng chính
Có bốn vùng chính đó là Enterprise Data Platform, Dynamic Development, Beyond Relational Database, và Pervasive Insight
Nền tảng dữ liệu cho các doanh nghiệp
Việc phân nhóm nền tảng dữ liệu của doanh nghiệp đôi khi được nhắc đến như Mission
Trang 10và các ích lợi gồm có phương pháp mã hóa dữ liệu, quản lý tài nguyên, phân tích hệ thống và tính năng quản lý máy chủ
Mã hóa
Có một số ty chọn mã hóa; tùy chọn đầu tiên được gọi là Transparent Data
Encryption – mã hóa dữ liệu trong suốt Trong SQL Server 2008, toàn bộ cơ sở dữ liệu đều có thể được mã hóa bằng SQL Engine Phương pháp này mã hóa tất cả dữ liệu và cácfile bản ghi cho cơ sở dữ liệu Bằng sử dụng phương pháp này, tất cả các chỉ mục và bảngcũng được mã hóa
Tính năng mã hóa tiếp theo là Backup Encryption SQL Server 2008 có một phương pháp mã hóa các backup dùng để tránh lộ và can thiệp của người khác vào dữ liệu Thêm vào đó, việc phục hồi backup có thể được hạn chế với từng người dùng cụ thể
Cuối cùng, có một số tùy chọn mới cho External Key Management Nếu có dính dáng tới việc xử lý thẻ tín dụng hoặc PCI (thẻ trả trước), thì SQL Server 2008 sẽ hỗ trợ
Hardware Security Modules (HSM) – mô đun bảo mật phần cứng Các mô đun này là giảipháp phần cứng của nhóm thứ ba được sử dụng để lưu các Key ở một địa điểm phân biệt
Trang 11hình bởi các câu lệnh TSQL như trong ví dụ này: AUDIT UPDATE(Salary) ON
Employee TO MyAuditFolder WHERE Salary>200000
Nén dữ liệu
Thông thường, việc nén dữ liệu liên quan với việc lưu trữ trên các ổ đĩa cứng, với các file vật lý nhỏ hơn, số lần backup được giảm Trong khi điều này đúng với SQL Server Data Compression thì mục tiêu chính là giảm kích thước của Fact Table Các ưu điểm của nén dữ liệu được liệt kê dưới đây:
Cải thiện hiệu suất truy vấn bằng cách giảm I/O và tăng tốc độ hit bộ đệm
Cung cấp các tỷ lệ nén từ 2X đến 7X cho dữ liệu DW thực
Trực giao với các tính năng khác
Thích hợp cho cả dữ liệu và các chỉ mục
Theo Microsoft, sử dụng nén dữ liệu sẽ làm tăng hiệu suất của CPU, hiệu suất toàn
bộ hệ thống sẽ được cải thiện vì giảm I/O
Quản lý tài nguyên
Quản lý tài nguyên - Resource Governor - trong SQL Server 2008 cũng là một điểm mới Governor được sử dụng để hạn chế người dùng hoặc nhóm người dùng chi phối các lớp tài nguyên mức cao Các mục có thể được kiểm tra gồm có độ rộng băng tần CPU, thời gian timeout, số lần ngoại lệ, số lần khóa và số lần nhàn rỗi Nếu một mức ngưỡng của Resource Governor đạt tới thì hệ thống có thể kích hoạt một sự kiện hoặc dừng quá trình
Hot Plug CPU
Trong SQL Server 2008, các CPU cắm thêm có thể được bổ sung vào nếu phần cứng của hệ thống hỗ trợ nó
Hiệu suất dữ liệu
Số bộ đếm hiệu suất trong SQL Server 2008 đã được mở rộng hơn so với phiên bản trước đó IO và các bộ đếm hiệu suất bộ nhớ là một cặp có thể được chọn để kiểm tra hiệu suất Dữ liệu đã được chọn bằng bộ đếm sẽ được lưu trong trung tâm lưu dữ
Trang 12liệu tập trung Microsoft phát biểu rằng việc chạy thiết lập hiệu suất mặc định liên quanđến các kiểm tra sẽ tốn ít hơn 5% tài nguyên bộ nhớ và CPU
Có một công cụ Performance Dashboard có thể đọc dữ liệu hiệu suất đã được lưu Thêm vào đó, các so sánh cơ sở và lịch sử có thể được thực hiện và sử dụng để tạo các hành động kích hoạt
Điểm mới trong SQL Server 2008 phải kể đến nữa là Performance Studio Studio
là một trong các công cụ hiệu suất Cùng với đó chúng có thể được sử dụng cho việc kiểm tra, xử lý sự cố, điều chỉnh và báo cáo Thành phần Data Collector của Studio có thể cấu hình Nó hỗ trợ một số phương pháp chọn gồm có các truy vấn TSQL, SQL Trace, và Perfmon Counters
Dữ liệu cũng có thể được chọn bằng lập trình Khi dữ liệu được chọn, có các tùy chọn báo cáo chung Microsoft liệt kê 6 tính năng phía trình khách của Performance Studio:
Bảng thông báo
Kiểm tra hiệu suất
Phân tích dữ liệu hiện hành và lịch sử
Các đề nghị cho việc điều chỉnh hiệu suất
Báo cáo dựa trên tập các bộ dữ liệu
Báo cáo dựa trên MDW
Cài đặt
Bộ đặt SQL Server 2008 cũng có nhiều nâng cao Dữ liệu cấu hình và các bit
“engine” được tách biệt vì vậy nó có thể tạo một đĩa hệ thống không cấu hình cơ bản phân phối đến một số máy chủ dễ dàng hơn Cài đặt có thể cập nhật được các nâng cấp
Trang 13Chương III: Các tính năng mới trong SQL Server 2008 R2:
1 PowerPivot for SharePoint
Tính năng này thêm hạ tầng và các dịch vụ chia sẻ cho việc tải, truy vấn và quản lý các bảng tính PowerPivot mà bạn publish lên hệ thống SharePoint Server 2010 Để tạo các bảng PowerPivot, bạn sử dụng tính năng PowerPivot for Excel
2 PowerPivot for Excel
PowerPivot for Excel là một thành phần bổ trợ của Excel 2010, các bạn có thể tải
và cài đặt trên cac máy trạm Sử dụng tính năng này để kết nối và tạo mối liên hệ cho khối lượng dữ liệu lớn này từ nhiều nguồn khác nhau, và sau đó dữ liệu này được dùng làm dữ liệu cơ bản cho các bảng PivotTabe và các đối tượng trình diễn dữ liệu khác được
hỗ trợ trong Excel
3 Multi-Server Administration and Data-Tier Application
Công cụ SQL Server Utility thiết lập trung tâm lưu trữ cho các dữ liệu về hiệu năng và các chính sách về quản lý cho chính hoạt động của các Instance của các DatabaseEngine đã đăng ký vào công cụ này
Ngoài ra, nó cung cấp thêm tiện ích Utility Explorer để quản lý tập trung và hiển thị báo dạng biểu đồ cho các Instance được quản lý Công cụ DAC (Data-tier
Application) thiết lập từng đơn vị riêng lẻ cho việc phát triển, triển khai và quản lý các đối tượng cơ sở dữ liệu được sử dụng bởi một ứng dụng
4 Master Data Services
Master Data Services bao gồm một cơ sở dữ liệu, một công cụ cấu hình, một ứng dụng Web và Web Service mà bạn dùng để quản lý dữ liệu tổng thể của tổ chức và duy trì một bản ghi có thể kiểm soát được về dữ liệu đó khi nó thay đổi theo thời gian Bạn sửdụng các mô hình và các phân cấp để phân nhóm và tổ chức dữ liệu chuẩn bị cho việc dùng chúng sau này trong BI, các công cụ tạo báo cáo,
Datawarehouse, và các hệ thống khác Master Data Services tích hợp với các nguồn của các hệ thống khác nhau và tương tác với các Business Rule để tạo thành một nguồn duy nhất cho dữ liệu tổng thể xuyên suốt tổ chức của bạn
5 Features Supported by the Editions of SQL Server 2008 R2
Trang 14Phiên bản Express của SQL Server 2008 R2 mở rộng giới hạn dung lượng cơ sở dữ liệu từ 4GB lên 10GB.
6 Connecting to the Database Engine Using Extended Protection
Phiên bản bày hỗ trợ khả năng Extended Protection (EP – một tập các cải tiến được
đưa vào các hệ điều hành gần đây của Microsoft, nhằm tăng cường khả bảo vệ ứng dụng
từ các kiểu xác thực), bằng các sử dụng service binding và channel binding để giúp ngăn chặn tấn công kiểu Relay attack Xem chi tiết thêm tại Extended Protection for
Authentication with Reporting Services
Trang 15Chương IV: Backup (sao lưu) CSDL trong SQL Server 2008 R2:
Backup là việc sao lưu dữ liệu từ cơ cở dữ liệu SQL Server vào một thiết bị lưu trữkhác
1>Các Loại Backup và một số hướng dẫn chung
- Full backup: Là backup toàn bộ dữ liệu tại thời điểm thực hiện Đây có lẽ là loại
được dùng thường xuyên nhất
-Differential backup: Là backup các trang dữ liệu mới được cập nhật kể từ lần
backup full trước đó
-File or File Group Backup: Copy một data file đơn hay một file group
-Differential File or File Group Backup: Tương tự như differential database
backup nhưng chỉ copy những thay đổi trong data file đơn hay một file group
-Transaction log backup: Là backup các log record hiện có trong log file, nghĩa
là nó sao lưu các hành động (các thao tác xảy ra đối với database) chứ không sao lưu dữ
liệu Đồng thời nó cũng cắt bỏ (truncate) log file, loại bỏ các log record vừa được backup
ra khỏi log file Vì thế khi thấy log file tăng quá lớn, có nhiều khả năng là chưa từng backup transaction log bao giờ
Ở đây cần đặc biệt chú 3 loại backup là Full backup, Differential backup và Transaction log backup.
Một nguyên tắc chung để giảm bớt lượng dữ liệu mất mát khi có sự cố là tăng tần suất backup Tuy nhiên với một database có dung lượng lớn và được cập nhật liên tục, thìviệc thực hiện full backup với tần suất cao là không khả thi, vì nó dùng rất nhiều CPU và I/O Nhờ có differential backup và transaction log backup, có thể tạo lập các phương án sao lưu thích hợp, đảm bảo dữ liệu được backup thường xuyên hơn mà không chiếm nhiều tài nguyên của hệ thống
Chú ý: Trong lúc backup SQL Server cũng copy tất cả các hoạt động của database
kể cả hoạt động xảy ra trong quá trình backup cho nên ta có thể backup trong khi SQL đang chạy mà không cần phải ngưng lại
Trang 162>Recovery Models
Full Recovery Model : Ðây là model cho phép phục hồi dữ liệu với ít rủi ro nhất.
Nếu một database ở trong mode này thì tất cả các hoạt động không chỉ insert, update,
delete mà kể cả insert bằng Bulk Insert, hay bcp đều được log vào transaction log file
Khi có sự cố thì ta có thể phục hồi lại dữ liệu ngược trở lại tới một thời điểm trong quá khứ Khi data file bị hư nếu ta có thể backup được transaction log file thì ta có thể phục hồi database đến thời điểm transaction gần nhất được commited
Bulk-Logged Recovery Model : Ở mode này các hoạt động mang tính hàng loạt
như Bulk Insert, bcp, Create Index, WriteText, UpdateText chỉ được log minimum vào transaction log file đủ để cho biết là các hoạt động này có diễn ra mà không log toàn bộ chi tiết như trong Full Recovery Mode Các hoạt động khác như Insert, Update, Delete vẫn được log đầy đủ để dùng cho việc phục hồi sau này
Simple Recovery Model : Ở mode này thì Transaction Log File được truncate
thường xuyên và không cần backup Với mode này chỉ có thể phục hồi tới thời điểm backup gần nhất mà không thể phục hồi tới một thời điểm trong quá khứ
Muốn biết database đang ở mode nào có thể Right-click lên một database nào đó trong SQL Server Enterprise Manager chọn Properties->Options->Recovery
Sau đây là một ví dụ về lịch backup
Trang 17· Full backup: Mỗi tuần 2 lần vào buổi chiều thứ 4 và thứ 4 sau giờ làm việc (17h PM)
· Differential backup: Mỗi tuần 4 lần vào buổi chiều thứ 2,3,5,6 sau giờ làm việc (5h
PM)
· Transaction log backup: Mỗi ngày 1 lần vào buổi trưa (12 AM)
Lưu ý là differential backup luôn sao lưu các trang đã thay đổi kể từ lần full backup trước, chứ không phải từ lần differential backup trước đó Ví dụ bản different backup lúc 5h PM ngày thứ 5 sẽ bao gồm các thay đổi kể từ thời gian full backup ngày của ngày thứ 4, còn bản different lúc 5h PM ngày thứ 6 thì sẽ bao gồm các thay đổi kể từthời gian full backup ngày của ngày thứ 4 kể cả những thay đổi đã được lưu trong lần different backup của ngày thứ 5… Transaction log backup thì ngược lại, chỉ sao lưu các log record kể từ lần transaction log backup trước đó
Chú ý: Lịch backup trên đây chỉ là một ví dụ để nói rõ hơn về tác dụng của các
loại backup và thời gian backup thôi Còn sắp xếp thời gian sao cho hợp lý để không tiêu tốn quá nhiều thời gian mà lại an toàn cho cơ sở dữ liệu là sự linh động và tính toán phù hợp từ phía các yêu cầu của từng mô hình dữ liệu và server khác nhau
Trang 183>Hướng dẫn các bước thực hiện Backup (Sao lưu) một cơ sở dữ liệu trong SQL Server.
Mở giao diện SQL Server Management Studio thì hãy khởi động nó lên theo các bước sau:
Vào Start ProgramsMicrosoft SQL Server 2008 R2 và chọn SQL Server
Management Studio
Sau khi chọn các đối tượng phù hợp tại các mục Server type, Server name và Authentication Connect
Trang 19Trong giao diện SQL Server Management Studio, chọn một database cần
backup.Ví dụ chọn database “QLCUAHANGBANSACH” như dưới đây.
Trang 20Trên cửa sổ Backup cơ sở dữ liệu, có thể điều chỉnh lại cấu hình thông tin về sao lưu theo ý của người quản trị Nếu không quen thuộc cấu hình này, có thể để giá trị mặc định.
Trang 21Đây là một số mô tả ngắn để cho về ý nghĩa của các mục chọn
-Database: Một cơ sở dữ liệu mà muốn sao lưu.
- Backup type: có thể chọn 1 trong 3 lựa chọn: Full hoặc Differential hoặc
Transaction log như đã giới thiệu về tác dụng của mỗi kiểu ở phần trên (Chú ý:
Đây là phần rất quan trọng, nên đặc biệt chú ý khi chọn kiểuBack up)
- Name: Tên của các sao lưu này, có thể đặt tên bất cứ điều gì như mong muốn.
- Backup component: Trong mục này có thể chọn một trong hai lựa chọn sau.
+ Database: Backup tất cả các file hay nhóm file đã được tạo của database này
Nên chọn mục này để tránh việc sao chép dữ liệu không đầy đủ
+ Files and Filegroups: Nếu cơ sở dữ liệu quá lớn và khi tạo cơ sở dữ liệu đã phân
bổ cơ sở dữ liệu của mình thành các nhóm file lưu trữ ở những ổ đĩa/vị trí khác nhau trong hệ điều hành và nay chỉ muốn chọn một hay một số file cần backup chứ không backup tất cả các file thì chọn mục này và chỉ định file cần backup
Trong hộp thọai này cũng có thể chọn chức năng backup tất cả các file
- 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, sẽ backup vào một ổ đĩa cứng vì vậy mặc định sẽ là “sau 0” ngày
Trang 22- Destination: Điểm đến các tập tin đó sẽ được sao lưu vào Có thể để như mặc định
Mặc định sẽ sao lưu vào "C: \ Program Files \ Microsoft SQL Server \ MSSQL.1 \
MSSQL \ Backup" Nếu chọn lại vị trí lưu mới, thì chọn Add sau đó sẽ xuất hiện
hộp thọai mới như hình 5 Tại File name, có thể tự gõ đường dẫn tới vị trí cơ sở dữ
liệu cần sao lưu hoặc nhấn vào dấu ba chấm “…” để chỉ định vị trí cho nó (Trong bài này được chọn D:\SQL\Backup\QLCUAHANGSACH.bak vị trí lưu là ở
trong thư mục Backup là thư mục con của thư mục SQL trong ổ đĩa G với tên file là
Trang 23Để kiểm tra các lựa chọ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 sử dụng tên duy nhất cho backup 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 thì sẽ được nhắc nhở chọn thiết lập backup nào cư trú để khôi phục
Trong phần Reliability, chọn “Verify backup when finished” để bảo đảm backup của
hợp lệ
Trang 24Phầ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 Kích nút OK để 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.Như vậy là công việc Backup đã thành công
Trang 25Tạo file Backup cũng có thể thực hiện bằng cách viết câu lệnh (T-SQL)
Để thực thi một backup bằng TSQL, hãy mở một Query Window mới (Để mở Query Window, từ Management Studio, kích nút New Query ở góc trên bên phải)
Để backup dữ liệu có thể sử dụng thủ tục hệ thống như sau có tên backup database như cú pháp sau:
BACKUP DATABASE { database_name | @database_name_var }
TO < backup_device > [ , n ]
[ WITH
[ BLOCKSIZE = { blocksize | @blocksize_variable } ]
[ [ , ] DESCRIPTION = { 'text'| @text_variable } ]
[ [ , ] DIFFERENTIAL ]
Trang 26| RETAINDAYS = { days | @days_var } ]
[ [ , ] FORMAT | NOFORMAT ]
[ [ , ] { INIT | NOINIT } ]
[ [ , ] MEDIADESCRIPTION = { 'text'| @text_variable } ]
[ [ , ] MEDIANAME = { media_name | @media_name_variable } ]
[ [ , ] NAME = { backup_set_name | @backup_set_name_var } ]
[ BLOCKSIZE = { blocksize | @blocksize_variable } ]
[ [ , ] DESCRIPTION = { 'text'| @text_variable } ]
[ [ , ] EXPIREDATE = { date | @date_var }
| RETAINDAYS = { days | @days_var } ]
[ [ , ] FORMAT | NOFORMAT ]
[ [ , ] { INIT | NOINIT } ]
[ [ , ] MEDIADESCRIPTION = { 'text'| @text_variable } ]
[ [ , ] MEDIANAME = { media_name | @media_name_variable } ]
[ [ , ] NAME = { backup_set_name | @backup_set_name_var } ]
[ [ , ] { NOSKIP | SKIP } ]
[ [ , ] { NOUNLOAD | UNLOAD } ]
[ [ , ] RESTART ]
[ [ , ] STATS [ =percentage ] ]
Để backup một tập tin log,
có thể sử dụng thủ tục hệ thống có tên backup log như cú pháp sau: