数据库的安全性是指保护数据库以防止不合法使用所造成的数据泄露、更改或破坏。
创建用户
例:
先创建登录名,然后再在
右键创建的登录名,点击属性,找到用户映射,选择要映射的数据库确认,再返回数据库找到用户就会看到映射的用户创建成功了,断开sa连接,输入
刚刚创建的登录名和密码,登陆成功会发现在映射的那个数据库中的用户里面只会出现登录名映射的用户名(没有刚刚创建的U2、U3…),对表的权限也会显示,对没有权限的表好像是不显示。
这里我设置的U1的权限只有对SC表有效,只显示一个SC表,没有显示学生表和课程表。
create login U_1 with password ='123456';
create user U1 for login U_1;
create login U_2 with password ='123456';
create user U2 for login U_2;
授权:授予和收回
GRANT语句向用户授予权限,REVOKE语句收回权限。
GRANT<权限>[,<权限>]…
ON<对象类型><对象名>[,<对象类型><对象名>]…
TO<用户>[,<用户>]…
[WITH GRANT OPTION];
如果指定WITH GRANT OPTION,则获得某种权限的用户可以把这种权限再授予其他用户,没有则不能授予。
例4.1 把查询Student表的权限授给用户U1。
GRANT SELECT
ON TABLE Student
TO U1;
例4.2 把对Student表和Course表的全部操作权限授予用户U2和U3。
GRANT ALL PRIVILEGES
ON TABLE Student,Course
TO U2,U3;