Bài giảng Cơ sở dữ liệu - Chương 5: Bảo mật và an toàn dữ liệu - Phạm Nguyên Thảo

Attach database: tạo database trên SQL Server server từ các tập tin dữ liệu và nhật ký (.mdf, .ndf, .ldf) – Dùng thủ tục sp_attach_db • Detach database: Tách database ra khỏi SQL Server (không xoá các tập tin dữ liệu và nhật ký) – Dùng thủ tục sp_detach_db

pdf19 trang | Chia sẻ: huongthu9 | Lượt xem: 349 | Lượt tải: 0download
Bạn đang xem nội dung tài liệu Bài giảng Cơ sở dữ liệu - Chương 5: Bảo mật và an toàn dữ liệu - Phạm Nguyên Thảo, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
1 Nội dung • Trigger • Khung nhìn • Quản trị quyền người dùng • Sao lưu và phục hồi dữ liệu 2 Ý nghĩa • Sao lưu (backup): Tạo ra một bản sao của tình trạng cơ sở dữ liệu (database) hiện tại – Dự phòng cho trường hợp xảy ra sự cố (lỗi phần cứng, phần mềm, hoặc lỗi của người khai thác) – Có thể lập lịch thực hiện chức năng backup • Phục hồi (restore) – Tạo lại CSDL từ các tập tin backup – Restore  recovery 3 Tạo backup device • Đặt một tên logic cho đường dẫn và tên tập tin vật lý sẽ dùng để lưu trữ dữ liệu backup • Thực hiện trước khi thực hiện lệnh backup, có thể bỏ qua (sử dụng trực tiếp tên và đường dẫn vật lý) • Cú pháp: sp_addumpdevice [ @devtype = ] 'device_type' , [ @logicalname = ] 'logical_name' , [ @physicalname = ] 'physical_name' ( Device_type = disk|tape ) 4 Tạo backup device (tt) • Ví dụ: exec sp_addumpdevice „disk‟, „QLSV_bak_dev1‟, „D:\...\QLSV_bak_1.bak‟ • Xóa backup device: sp_dropdevice [ @logicalname = ] 'device' [ , [ @delfile = ] „DELFILE' ] Ví dụ: exec sp_dropdevice „QLSV_bak_dev1‟ exec sp_dropdevice „QLSV_bak_dev1‟, „DELFILE‟ Xoá cả file vật lý tương ứng 5 Thực hiện backup • Cú pháp: BACKUP DATABASE database_name TO backup_device [ ,...n ] [ WITH [ DIFFERENTIAL ] [ [,] PASSWORD = password ] [ [,] INIT | NOINIT ] ] 6 Thực hiện backup (tt) • Cú pháp (tt) Backup_device: – có thể là tên backup device đã tạo (tên logic) – hoặc tên vật lý: {disk|tape} = „đường_dẫn_vật_lý‟ Có thể sử dụng nhiều backup_device cho một lần backup (tối đa là 64 backup device) Differential: chỉ backup phần thay đổi kể từ lần backup đầy đủ toàn phần (full) gần nhất. password: chỉ định mật khẩu cho tập tin sao lưu, người dùng phải cung cấp đúng mật khẩu này khi muốn restore init|noinit : ghi đè lên back_up device đã được dùng để backup trước đó (init) hay ghi nối tiếp vào (mặc định: noinit). 7 Thực hiện backup (tt) • Ví dụ: – Backup ra một tập tin: (mặc định ghi nối tiếp nội dung các lần backup trước trên tập tin này nếu có) Backup database QLSV to QLSV_bak_dev – Như ví dụ trên nhưng chỉ định trực tiếp tên tập tin vật lý: Backup database QLSV to disk = ‘D:\ :\...\QLSV_bak.bak’ 8 Thực hiện backup (tt) • Ví dụ (tt) – Backup ra nhiều tập tin, ghi đè lên nội dung backup trước đó trên các tập tin này nếu có: Backup database QLSV to QLSV_bak_dev1, QLSV_bak_dev2 with init – Backup dạng differential: Backup database QLSV to QLSV_bak_dev3 with differential, init 9 Thực hiện backup • Ngoài ra còn có các lệnh back up dạng khác: – Backup Log – Back up File/File group 10 Backup với Enterprise Manager • Click phải trên Database cần backup All tasksBackup Database Differential? Thêm backup device Noinit/ init Lập lịch backup 11 Thực hiện phục hồi • Cú pháp RESTORE DATABASE database_name FROM backup_device [ ,...n ] [ WITH [ FILE = file_number ] [ [ , ] PASSWORD = password] [ [ , ] MOVE 'logical_file_name' TO ‘physical_file_name' ] [ [ , ] NORECOVERY] ] 12 Thực hiện phục hồi (tt) • Ghi chú: – Lúc backup dùng bao nhiêu tập tin (backup device) thì khi restore phải dùng đủ bấy nhiêu tập tin – Nếu khi backup có chỉ định password thì khi restore phải cung cấp đúng password đó – Nếu backup dạng noinit, file_number chỉ ra là thông tin backup cần phục hồi nằm ở vị trí thứ mấy trong tập tin (mặc định là nằm đầu tiên, tức file =1) 13 Thực hiện phục hồi (tt) • Ghi chú (tt) – database_name (tên database sau khi restore) có thể tồn tại hoặc chưa tồn tại, nếu đã tồn tại sẽ bị ghi đè lên. Tên database sau khi restore có thể khác với tên database khi backup – Dùng lệnh move khi ta muốn đổi tên các tập tin .ldf, .ndf, .mdf của database hoặc đổi vị trí lưu trữ chúng sau khi restore. 14 Thực hiện phục hồi (tt) • Ghi chú (tt) – Nếu muốn restore một backup dạng differential, ta phải thực hiện chuỗi restore liên tiếp trong cùng một query batch (khối lệnh thực hiện liên tục) Lệnh restore đầu tiên thực hiện restore bản backup full, CÓ lựa chọn norecovery Lệnh restore bản backup differential sau cùng, KHÔNG có lựa chọn norecovery 15 Thực hiện phục hồi (tt) • Ví dụ – Restore từ backup đầy đủ Restore database QLSV from QLSV_bak_dev1, QLSV_bak_dev2 – Restore với bản backup differential QLSV_bak_dev3: Restore database QLSV from QLSV_bak_dev1, QLSV_bak_dev2 with norecovery Restore database QLSV from QLSV_bak_dev3 16 Thực hiện phục hồi (tt) • Ví dụ: – Restore và đổi tên/ đường dẫn của các tập tin dữ liệu và nhật ký của database: Restore database QLSV from QLSV_bak_dev1, QLSV_bak_dev2 with move 'QLSV_Data' to „E:\...\QLSV_data.mdf', move 'QLSV_log' to 'E:\...\QLSV_log.ldf' 17 Thực hiện phục hồi với Enterprise Manager Thêm các backup device để restore File_number 18 Thực hiện phục hồi với Enterprise Manager (tt) • Lưu ý, nếu database cần restore đã tồn tại, chọn tab Options, chọn “Force restore over existing database” • Trong cửa sổ Options, cũng có thể thực hiện việc đổi tên/ đường dẫn của các tập tin dữ liệu/ log sau khi restore • Norecovery = “Leave database nonoperational but able to restore additional transaction logs” (Options tab) 19 Attach và detach database • Attach database: tạo database trên SQL Server server từ các tập tin dữ liệu và nhật ký (.mdf, .ndf, .ldf) – Dùng thủ tục sp_attach_db • Detach database: Tách database ra khỏi SQL Server (không xoá các tập tin dữ liệu và nhật ký) – Dùng thủ tục sp_detach_db

Các file đính kèm theo tài liệu này:

  • pdfbai_giang_co_so_du_lieu_chuong_5_bao_mat_va_an_toan_du_lieu.pdf