Bài giảng SQL Server: Phần 2 - ĐH Sư phạm kỹ thuật Nam Định
Số trang: 128
Loại file: pdf
Dung lượng: 2.31 MB
Lượt xem: 24
Lượt tải: 0
Xem trước 10 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Tiếp nội dung phần 1, Bài giảng Nhập môn trí tuệ nhân tạo: Phần 2 cung cấp cho người học những kiến thức như: Sao lưu và phục hồi dữ liệu; Quản lý bảo mật và người dùng; SQL Server và lập trình ứng dụng. Mời các bạn cùng tham khảo!
Nội dung trích xuất từ tài liệu:
Bài giảng SQL Server: Phần 2 - ĐH Sư phạm kỹ thuật Nam Định Tập bài giảng SQL Server Chƣơng 6 SAO LƢU VÀ PHỤC HỒI DỮ LIỆU 6.1. Khái niệm sao lƣu cơ sở dữ liệu Sao lưu dữ liệu là việc tạo ra các bản sao của dữ liệu gốc, cất giữ ở một nơi an toàn. Cơ sơ dữ liệu luôn là kho thông tin vô cùng quan trọng đối với bất kỳ một doanh nghiệp hay tổ chức sử dụng chúng. Chúng có thể bị hỏng hóc một phần hay toàn bộ bất kỳ lúc nào cho dù cơ sở hạ tầng về công nghệ thông tin nói chung và máy chủ chứa cơ sở dữ liệu nói riêng có tốt đến đâu thì việc sự cố bất thường xảy ra là điều khó tránh khỏi. Dữ liệu có thể bị mất hoặc bị xâm nhập trái phép bới các nguyên nhân như thiết bị lưu trữ bị hỏng, do người dùng vô tình xóa hay do kẻ xấu cố ý phá hoại cơ sở dữ liệu. Vì vậy người quản trị cơ sở dữ liệu cần phải có kế hoạch sao lưu để tránh và giảm thiểu rủi ro cho cơ sở dữ liệu. SQL Server 2008 cung cấp chức năng sao lưu và phục hồi dữ liệu rất hoàn hảo, chúng ta có thể thao tác trực tiếp hay theo lịch trình định sẵn. 6.1.1.Các loại bản sao lưu cơ sở dữ liệu 1) Full backup: Full backup là một bản sao lưu đầy đủ của cơ sở dữ liệu tr ên các phương tiện lưu trữ. Quá trình full backup có thể tiến hành mà không cần ẩn cơ sở dữ liệu, nhưng quá trình này lại chiếm một lượng lớn tài nguyên hệ thống và có thể ảnh hưởng nghiêm trọng tới thời gian đáp ứng các y êu cầu của hệ thống. 2) Diferential backup: Differential backup được xây dựng nhằm làm giảm thời gian cần thiết để thực hiện quá trình full backup. Differential backup ch ỉ sao lưu những thay đổi tr ên dữ liệu kể từ lần full backup gần nhất. Trong những hệ thống CSDL lớn, quá trình differential backup sẽ sử dụng tài nguyên ít hơn rất nhiều so với quá trình full backup và có th ể không ảnh hưởng đến hiệu suất của hệ thống. Quá trình differential chỉ sao lưu những sự thay đổi của dữ liệu từ lần full backup gần nhất, do đó khi có sự cố với cơ sở dữ liệu nếu không có bản sao lưu của quá trình full backup thì b ản sao lưu của quá trình differential backup s ẽ trở nên vô nghĩa. Ví dụ trong chương trình Quản lý tuyển sinh của một trường Đại học, ta thực hiện full backup v ào cuối ngày thứ 6 hàng tuần và thực hiện differential backup vào t ối các ngày từ thứ 2 tới thứ 5. Nếu cơ sở dữ liệu có sự cố v ào sáng thứ 4, quản trị viên cơ sở dữ liệu sẽ phục hồi dữ liệu bằng bản sao lưu của quá trình full backup c ủa ngày thứ 6 tuần trước và sau đó phục hồi các thay đổi của dữ liệu bằng 181 Tập bài giảng SQL Server cách áp dụng bản sao lưu của quá trình differential backup vào ngày thứ 3. 3) Transaction log backup: Quá trình full bac kup và differential backup chiếm nhiều tài nguyên hệ thống và ảnh hưởng đến hiệu suất làm việc hệ thống nên thường được thực hiện vào sau giờ làm việc. Tuy nhiên điều này có thể dẫn đến các mất mát dữ liệu trong một ng ày làm việc nếu cơ sở dữ liệu có sự cố trước khi quá trình sao lưu diễn ra. Transaction log backup là một giải pháp nhằm giảm thiểu tối đa lượng dữ liệu có thể mất khi có sự cố cơ sở dữ liệu. Trong quá trình hoạt động, SQL Server sử dụng transaction log để theo dõi tất cả các thay đổi trên cơ sở dữ liệu. Log bảo đảm cơ sở dữ liệu có thể phục hồi sau những sự cố đột xuất và cũng đảm bảo người dùng có thể quay ngược các kết quả trong các giao tác cơ sở dữ liệu. Các giao tác chưa hoàn thành được lưu trong log trước khi được lưu vĩnh viễn trong cơ sở dữ liệu. Transaction log backup sao lưu transaction log của cơ sở dữ liệu vào thiết bị lưu trữ. Mỗi khi transaction log đư ợc sao lưu, SQL Server b ỏ đi các transaction đã thực hiện thành công (committed tracsaction) và ghi các transaction vào phương tiện sao lưu. Transaction log backup sử dụng tài nguyên hệ thống ít hơn rất nhiều so với full backup và differential backup , do đó có thể sử dụng transaction log backup bất kỳ thời gian n ào mà không s ợ ảnh hưởng đến hiệu suất hệ thống. Trở lại với ví dụ cơ sở dữ liệu quản lý tuyển sinh. Trường Đại học này thực hiện full backup vào tối thứ 6 và differential backup vào tối từ thứ 2 tới thứ 5. Trường Đại học thực hiện thêm quá trình transaction log backup mỗi giờ một lần. Giả sử sự cố cơ sở dữ liệu xảy ra vào 9h:05 sáng thứ 4. Quá trình khôi phục lại cơ sở dữ liệu như sau: Dùng full backup và differential backup của tối thứ 6 và tối thứ 3 để phục hồi lại trạng thái cơ sở dữ liệu vào tối thứ 3. Tuy nhiên quá trình này v ẫn còn để mất dữ liệu trong 2 giờ (7 – 9h) sáng thứ 4. Tiếp theo sử dụng 2 bản sao lưu transaction backup lúc 8h và 9h sáng để khôi phục CSDL về trạng thái lúc 9h sáng thứ 4. 6.1.2. Thực hiện sao lưu Bước 1: Chọn cơ sở dữ liệu/Chọn chuột phải/Chọn Tasks/Chọn Back up…. 182 Tập bài giảng SQL Server Hình 6.1. Sao lưu cơ sở dữ liệu Bước 2: Chọn loại Backup trong mục Backup type - Chọn loại Full nếu muốn tạo bản sao Full Backup - Chọn loại Differental nếu muốn tạo bản sao Differental - Chọn loại Transaction Log nếu muốn tạo bản sao Transaction Log Hình 6.2. Loại sao lưu cơ sở dữ liệu 183 Tập bài giảng SQL Server Bước 3: Chọn thành phần backup trong mục Backup component - Tùy chọn Database (mặc định): Cho phép tạo bản sao là sao lưu tất cả những gì sở dữ liệu đang có - Tùy chọn Files and filegroups: Cho phép chọn bản sao tệp tin dữ liệu ta có thể chọn file trong nhóm file (*.mdf, *.ndf): gồm những file chính và file mở rộng. Hình 6.3. File sao lưu Trên cây thư mục chọn các file cần sao lưu. Hộp kiểm tra Copy Only Backup cho phép sao lưu bản sao lưu cơ sở dữ liệu mà ...
Nội dung trích xuất từ tài liệu:
Bài giảng SQL Server: Phần 2 - ĐH Sư phạm kỹ thuật Nam Định Tập bài giảng SQL Server Chƣơng 6 SAO LƢU VÀ PHỤC HỒI DỮ LIỆU 6.1. Khái niệm sao lƣu cơ sở dữ liệu Sao lưu dữ liệu là việc tạo ra các bản sao của dữ liệu gốc, cất giữ ở một nơi an toàn. Cơ sơ dữ liệu luôn là kho thông tin vô cùng quan trọng đối với bất kỳ một doanh nghiệp hay tổ chức sử dụng chúng. Chúng có thể bị hỏng hóc một phần hay toàn bộ bất kỳ lúc nào cho dù cơ sở hạ tầng về công nghệ thông tin nói chung và máy chủ chứa cơ sở dữ liệu nói riêng có tốt đến đâu thì việc sự cố bất thường xảy ra là điều khó tránh khỏi. Dữ liệu có thể bị mất hoặc bị xâm nhập trái phép bới các nguyên nhân như thiết bị lưu trữ bị hỏng, do người dùng vô tình xóa hay do kẻ xấu cố ý phá hoại cơ sở dữ liệu. Vì vậy người quản trị cơ sở dữ liệu cần phải có kế hoạch sao lưu để tránh và giảm thiểu rủi ro cho cơ sở dữ liệu. SQL Server 2008 cung cấp chức năng sao lưu và phục hồi dữ liệu rất hoàn hảo, chúng ta có thể thao tác trực tiếp hay theo lịch trình định sẵn. 6.1.1.Các loại bản sao lưu cơ sở dữ liệu 1) Full backup: Full backup là một bản sao lưu đầy đủ của cơ sở dữ liệu tr ên các phương tiện lưu trữ. Quá trình full backup có thể tiến hành mà không cần ẩn cơ sở dữ liệu, nhưng quá trình này lại chiếm một lượng lớn tài nguyên hệ thống và có thể ảnh hưởng nghiêm trọng tới thời gian đáp ứng các y êu cầu của hệ thống. 2) Diferential backup: Differential backup được xây dựng nhằm làm giảm thời gian cần thiết để thực hiện quá trình full backup. Differential backup ch ỉ sao lưu những thay đổi tr ên dữ liệu kể từ lần full backup gần nhất. Trong những hệ thống CSDL lớn, quá trình differential backup sẽ sử dụng tài nguyên ít hơn rất nhiều so với quá trình full backup và có th ể không ảnh hưởng đến hiệu suất của hệ thống. Quá trình differential chỉ sao lưu những sự thay đổi của dữ liệu từ lần full backup gần nhất, do đó khi có sự cố với cơ sở dữ liệu nếu không có bản sao lưu của quá trình full backup thì b ản sao lưu của quá trình differential backup s ẽ trở nên vô nghĩa. Ví dụ trong chương trình Quản lý tuyển sinh của một trường Đại học, ta thực hiện full backup v ào cuối ngày thứ 6 hàng tuần và thực hiện differential backup vào t ối các ngày từ thứ 2 tới thứ 5. Nếu cơ sở dữ liệu có sự cố v ào sáng thứ 4, quản trị viên cơ sở dữ liệu sẽ phục hồi dữ liệu bằng bản sao lưu của quá trình full backup c ủa ngày thứ 6 tuần trước và sau đó phục hồi các thay đổi của dữ liệu bằng 181 Tập bài giảng SQL Server cách áp dụng bản sao lưu của quá trình differential backup vào ngày thứ 3. 3) Transaction log backup: Quá trình full bac kup và differential backup chiếm nhiều tài nguyên hệ thống và ảnh hưởng đến hiệu suất làm việc hệ thống nên thường được thực hiện vào sau giờ làm việc. Tuy nhiên điều này có thể dẫn đến các mất mát dữ liệu trong một ng ày làm việc nếu cơ sở dữ liệu có sự cố trước khi quá trình sao lưu diễn ra. Transaction log backup là một giải pháp nhằm giảm thiểu tối đa lượng dữ liệu có thể mất khi có sự cố cơ sở dữ liệu. Trong quá trình hoạt động, SQL Server sử dụng transaction log để theo dõi tất cả các thay đổi trên cơ sở dữ liệu. Log bảo đảm cơ sở dữ liệu có thể phục hồi sau những sự cố đột xuất và cũng đảm bảo người dùng có thể quay ngược các kết quả trong các giao tác cơ sở dữ liệu. Các giao tác chưa hoàn thành được lưu trong log trước khi được lưu vĩnh viễn trong cơ sở dữ liệu. Transaction log backup sao lưu transaction log của cơ sở dữ liệu vào thiết bị lưu trữ. Mỗi khi transaction log đư ợc sao lưu, SQL Server b ỏ đi các transaction đã thực hiện thành công (committed tracsaction) và ghi các transaction vào phương tiện sao lưu. Transaction log backup sử dụng tài nguyên hệ thống ít hơn rất nhiều so với full backup và differential backup , do đó có thể sử dụng transaction log backup bất kỳ thời gian n ào mà không s ợ ảnh hưởng đến hiệu suất hệ thống. Trở lại với ví dụ cơ sở dữ liệu quản lý tuyển sinh. Trường Đại học này thực hiện full backup vào tối thứ 6 và differential backup vào tối từ thứ 2 tới thứ 5. Trường Đại học thực hiện thêm quá trình transaction log backup mỗi giờ một lần. Giả sử sự cố cơ sở dữ liệu xảy ra vào 9h:05 sáng thứ 4. Quá trình khôi phục lại cơ sở dữ liệu như sau: Dùng full backup và differential backup của tối thứ 6 và tối thứ 3 để phục hồi lại trạng thái cơ sở dữ liệu vào tối thứ 3. Tuy nhiên quá trình này v ẫn còn để mất dữ liệu trong 2 giờ (7 – 9h) sáng thứ 4. Tiếp theo sử dụng 2 bản sao lưu transaction backup lúc 8h và 9h sáng để khôi phục CSDL về trạng thái lúc 9h sáng thứ 4. 6.1.2. Thực hiện sao lưu Bước 1: Chọn cơ sở dữ liệu/Chọn chuột phải/Chọn Tasks/Chọn Back up…. 182 Tập bài giảng SQL Server Hình 6.1. Sao lưu cơ sở dữ liệu Bước 2: Chọn loại Backup trong mục Backup type - Chọn loại Full nếu muốn tạo bản sao Full Backup - Chọn loại Differental nếu muốn tạo bản sao Differental - Chọn loại Transaction Log nếu muốn tạo bản sao Transaction Log Hình 6.2. Loại sao lưu cơ sở dữ liệu 183 Tập bài giảng SQL Server Bước 3: Chọn thành phần backup trong mục Backup component - Tùy chọn Database (mặc định): Cho phép tạo bản sao là sao lưu tất cả những gì sở dữ liệu đang có - Tùy chọn Files and filegroups: Cho phép chọn bản sao tệp tin dữ liệu ta có thể chọn file trong nhóm file (*.mdf, *.ndf): gồm những file chính và file mở rộng. Hình 6.3. File sao lưu Trên cây thư mục chọn các file cần sao lưu. Hộp kiểm tra Copy Only Backup cho phép sao lưu bản sao lưu cơ sở dữ liệu mà ...
Tìm kiếm theo từ khóa liên quan:
Bài giảng SQL Server SQL Server Quản lý bảo mật Lập trình ứng dụng Quản lý tài khoản người dùng Phục hồi cơ sở dữ liệuGợi ý tài liệu liên quan:
-
173 trang 420 3 0
-
118 trang 186 0 0
-
Giáo trình Lập trình Android cơ bản: Phần 1
190 trang 135 0 0 -
Giáo trình Quản trị mạng (Nghề: Tin học ứng dụng - Trung cấp) - Trường Cao đẳng Cộng đồng Đồng Tháp
173 trang 124 1 0 -
information technology outsourcing transactions process strategies and contracts 2nd ed phần 3
65 trang 111 0 0 -
107 trang 108 0 0
-
Giáo trình môn kỹ thuật vi điều khiển
0 trang 96 0 0 -
Bài giảng Lập trình trên Windows: Chương 1 - Trần Minh Thái
68 trang 78 0 0 -
88 trang 67 0 0
-
Bài giảng Hệ điều hành Linux - Chương 2: Các lệnh cơ bản trên Linux
76 trang 55 0 0