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.

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 trang 1

Trang 1

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 trang 2

Trang 2

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 trang 3

Trang 3

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 trang 4

Trang 4

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 trang 5

Trang 5

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 trang 6

Trang 6

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 trang 7

Trang 7

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 trang 8

Trang 8

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 trang 9

Trang 9

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 trang 10

Trang 10

Tải về để xem bản đầy đủ

pptx 20 trang xuanhieu 6240
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

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:

  • pptxbai_giang_co_so_du_lieu_bai_phan_quyen_he_quan_tri_co_so_du.pptx