数据库的安全性是指保护数据库,以防止非法使用造成数据泄露和破坏。保证数据安全性的主要方法是通过对数据库的存取权力的控制来防止非法使用数据库中的数据,即限定不同用户操作不同的数据对象的权限。存取权限包括权力的授予,撤消,拒绝。权力授予和撤消命令由数据库管理员或特定应用人员使用。系统对数据库操作前,先核实相应数据上进行所要求的操作。
在数据库管理系统中创建的数据库:SONY,其中有表:STUDENT,MARKS两张表。管理员是:skyhaiwei
一,权力的授予(GRANT):
授予管理员skyhaiwei对STUDENT表的查询和插入的权力。
方法一:
USE SONY
GRANT SELECT,INSERT ON STUDENT TO skyhaiwei
GO
方法二:
USE SONY
GRANT SELECT,INSERT TO skyhaiwei
GO
二,权力的撤消(REVOKE)
撤消对管理员skyhaiwei对表STUDENT的插入权力.
方法一:
USE SONY
REVOKE INSERT FROM skyhaiwei
GO
方法二:
USE SONY
REVOKE INSERT ON STUDENT FROM skyhaiwei
GO
方法三:
USE SONY
REVOKE INSERT ON OBJECT:: STUDENT FROM skyhaiwei
GO
三,权力的拒绝(DENY):
拒绝对管理员skyhaiwei对表MARKS的插入和更新的权力。
方法一:
USE SONY
DENY INSERT,UPDATE ON OBJECT:: MARKS TO skyhaiwei
GO
方法二:
USE SONY
DENY INSERT,UPDATE ON MARKS TO skyhaiwei
GO
方法三:
USE SONY
DENY INSERT,UPDATE TO skyhaiwei
GO
方法三拒绝的是用户的插入和更新的权力,并没指定对哪个数据表。
四,撤消对存储过程的 EXECUTE 权限
USE SONY
REVOKE EXECUTE ON OBJECT:: USP_EXEC_SCORE
FROM skyhaiwei
GO
其中USP_EXEC_SCORE是存储过程。
五,使用 CASCADE 撤消对视图的 REFERENCES 权限
以下示例使用 CASCADE,从用户 skyhaiwei 中撤消对视图 view_student_marks 中列 examNO 的 REFERENCES 权限。
USE SONY
REVOKE REFERENCES (examNO)ON OBJECT::view_stuedent_marks
FROM skyhaiwei CASCADE;
GO
六,撤消授予或拒绝的对数据库用户、数据库角色或应用程序角色的权限。
以下示例撤消用户 skyblue 对 SONY 用户 skyhaiweiWanida 的 CONTROL 权限。
USE SONY
REVOKE CONTROL ON USER::skyhaiwei FROM skyblue
GO