Bài giảng Cơ sở dữ liệu - Bài: Phân quyền hệ quản trị cơ sở dữ liệu SQL Server 2012
Phân quyền
Sự phân chia khả năng quản trị và sử dụng hệ quản trị cơ sở dữ liệu SQL Server.
Hình thành theo cơ cấu
Người đăng nhập (login)
Người dùng (user)
Quyền hạn (permission)
Nhóm quyền (role)
Người đăng nhập được thể hiện là mỗi một người dùng với một số quyền hạn ứng với một dữ liệu.
Trang 1
Trang 2
Trang 3
Trang 4
Trang 5
Trang 6
Trang 7
Trang 8
Trang 9
Trang 10
Tải về để xem bản đầy đủ
Bạn đang xem 10 trang mẫu của tài liệu "Bài giảng Cơ sở dữ liệu - Bài: Phân quyền hệ quản trị cơ sở dữ liệu SQL Server 2012", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
Tóm tắt nội dung tài liệu: Bài giảng Cơ sở dữ liệu - Bài: Phân quyền hệ quản trị cơ sở dữ liệu SQL Server 2012
PHÂN QUYỀN TRONGHỆ QUẢN TRỊ CƠ SỞ DỮ LIỆUSQL SERVER 2012 Phân quyền Sự phân chia khả năng quản trị và sử dụng hệ quản trị cơ sở dữ liệu SQL Server. Hình thành theo cơ cấu Người đăng nhập (login) Người dùng (user) Quyền hạn (permission) Nhóm quyền (role) Người đăng nhập được thể hiện là mỗi một người dùng với một số quyền hạn ứng với một dữ liệu. 2 1 2 3 4 R 1 R 2 Login SQL Service User & Permission & Role Database Log in SQL Server P 3 Mô hình Đăng nhập Tạo người đăng nhập exec sp_addlogin ‘tên_login’ , ‘mật_khẩu’ [, ‘dữ_liệu’] create login tên_login with password = ‘mật_khẩu’ [, default_database = dữ_liệu ] 4 Đăng nhập Xóa người đăng nhập exec sp_droplogin ‘tên_login’ drop login tên_login Thay đổi người đăng nhập alter login { [ enable | disable ] | with { password = ‘’| default_database = } } 5 Người dùng Tạo người dùng cho từng dữ liệu exec sp_adduser ‘tên_login’ , ’tên_user’ [ , ‘tên_role’ ] create user tên_user for tên_login Xóa người dùng exec sp_dropuser ‘tên_user’ drop user tên_user 6 Nhóm quyền Tạo nhóm quyền exec sp_addrole ‘tên_role’ create role tên_user Xóa nhóm quyền exec sp_droprole ‘tên_role’ drop role tên_role 7 Người dùng & nhóm quyền Gắn người dùng với nhóm quyền exec sp_addrolemember ‘tên_role’ , ‘tên_user’ Xóa nhóm quyền exec sp_droprolemember ‘tên_role’ , ‘tên_user’ 8 Quyền hạn (permission) Tạo quyền hạn Grant {ALL | permission} on table[ (column [,n])] to { user | role [, n] } [ with grant option ] with grant option : được phép gán lại quyền mà mình có cho người khác. Xóa quyền hạn Revoke [ grant option for ] {ALL | permission} on table[ (column [,n])] to { user | role [, n] } [ cascade ] grant option for : bỏ tính năng cấp lại quyền cho người khác (quyền vẫn được giử lại). cascade : bỏ tất cả các quyền (ở các kế thừa) 9 Ví dụ Đăng nhập ‘sa’ Exec sp_addlogin ‘u1’, ‘123’ Exec sp_addlogin ‘u2’, ‘123’ Exec sp_adduser ‘u1’, ‘u1’ Exec sp_adduser ‘u2’, ‘u2’ Grant select on sinhvien to u1 with grant option u1 có quyền dùng 2 lệnh Select * from sinhvien Grant select on sinhvien to u2 [with grant option] 10 Ví dụ Đăng nhập với ‘u1’ Grant select on sinhvien to u2 with grant option Vậy u2 có quyền select và grant. Đăng nhập với ‘sa’ Revoke select on sinhvien to u1 cascade Xóa hết quyền select và grant ở u1 và cả u2 Revoke grant option for select on sinhvien to u1 cascade Xóa quyền grant ở u1 và quyền select và grant ở u2 11 Sao lưu Khái niệm Sao lưu là công việc sao chép thông tin của database vào một thời điểm nhất định vào nơi lưu trữ khác. Vấn đề Có thật sự có nhu cầu cần sao lưu dữ liệu. Chiến lược sao lưu dữ liệu. Cách phục hồi dữ liệu 12 Sao lưu (Phân loại) Sao lưu toàn phần Toàn bộ database sẽ được ghi lại vào thời điểm sao lưu. Sao lưu một phần Chỉ những phần thay đổi của database so với thời điểm mà database đã sao lưu toàn phần gần nhất. Sao lưu bảng lưu vết của giao tác (transaction log) Sao lưu vết của các giao tác đang được thực thi tại thời điểm sao lưu. Sao lưu các bảng sao trong dữ liệu phân tán (duplicate data) 13 Sao lưu (Cú pháp lệnh) BACKUP DATABASE tendb TO [ WITH { DIFFERENTIAL | } ] DIFFERENTIAL : Sao lưu một phần, mặc nhiên là sao lưu toàn phần. := { DISK | TAPE }=‘ tên_thiết_bị ’ DESCRIPTION = ghichu (ghi chú bảng lưu) NAME = ten (ghi tên bảng lưu) PASSWORD = matkhau (ghi mật khẩu bảng lưu) RETAINDAYS = songay (ghi số ngày hết hạn của bảng lưu tính từ thời điểm sao lưu) EXPIREDATE = ngay (hạn cuối của bảng sao lưu) STOP_ON_ERROR | CONTINUE_AFTER_ERROR (ngừng khi gặp lỗi và ngược lại) STATS = số (phần trăm thể hiện trong quá trình sao lưu ) 14 Sao lưu (Ví dụ) Sao lưu toàn phần cho database tên là ‘ qlbv ’ BACKUP DATABASE qlbv TO DISK = 'E:\qlbv.bak' WITH NAME = 'qlbv backup', STATS = 10 Sao lưu một phần cho database tên là ‘qlbv’ BACKUP DATABASE qlbv TO DISK = 'E:\qlbv.bak' WITH DIFFERENTIAL, NAME = 'qlbv backup 1 phan', STATS = 10 15 Phục hồi (Cú pháp lệnh) RESTORE DATABASE tendb_moi FROM [ WITH {} ] := { DISK | TAPE } = ‘ tên_thiết_bị ’ STOP_ON_ERROR | CONTINUE_AFTER_ERROR (ngừng khi gặp lỗi và ngược lại) FILE = { tên | số thứ tự } ( Chỉ bảng sao lưu được phục hồi trong tập tin sao lưu) PASSWORD = matkhau ( ghi mật khẩu bảng lưu) RECOVERY | NORECOVERY Recovery ( Chấm dứt quá trình phục hồi) NoRecovery ( Chưa chấm dứt, và cho phép tiếp các lệnh phục hồi kế, và quá trình sẽ có trạng thái Recovery nếu mọi lệnh phục hồi hoàn thành) Sao lưu 1 phần chỉ được phục hồi liền sau quá trình phục hồi toàn phần (với tham số norecovery) 16 Phục hồi (Ví dụ) Phục hồi từ tập tin ‘qlbv.bak’ thành database tên là ‘ qlbv ’. RESTORE DATABASE qlbv FROM DISK = 'E:\qlbv.bak' WITH FILE = 1, NORECOVERY, STATS=10; RESTORE DATABASE qlbv FROM DISK = ‘E:\qlbv.bak' WITH FILE = 2, RECOVERY, STATS=10 17 Sao lưu và phục hồi (Attach & detach) Dữ liệu được lưu trử thành tập tin có đuôi là .mdf và các vết lưu quá trình làm việc, giao tác được lưu với tập tin có đuôi là .ldf . Một cách khác để sao lưu là ta giữ lại các tập tin đó (quan trọng là .mdf ) Để có thể lấy được tập tin .mdf ta phải không còn làm việc với database đó nữa bằng lệnh sp_detach_db . Để có thể gán lại tập tin .mdf vào SQL Server thành một database thì ta dùng lệnh sp_attach_db. 18 Lệnh & ví dụ sp_detach_db ‘ tên_database ’ sp_attach_db ‘ tên_database ’ , ‘ đường_dẫn_và_tên_tập_tin_mdf ’, ‘ đường_dẫn_và_tên_tập_tin_ldf ’ sp_attach_db 'qlbv' , 'E:\quanlybenhvien.mdf', 'E:\quanlybenhvien_log.ldf ‘ sp_detach_db 'qlbv ' 19 Sinh mã tạo dữ liệu Chức năng Generate Scripts 20
File đính kèm:
- bai_giang_co_so_du_lieu_bai_phan_quyen_he_quan_tri_co_so_du.pptx