色的成员信息等;再将数据库用户temp2,temp3添加到数据库角色db_operator中。单击“确定”按钮完成数据库角色的创建。
删除数据库角色。右击要删除的用户自定义角色,在跨界菜单中选择“删除”命令,在提示对话框中确认,即可完成删除。注意:不能删除一个有成员的角色,在删除这样的角色之前,应先删除其成员;只能删除用户自定义角色,不能删除系统的固定角色!
5.2.4权限管理
权限的管理。右击要修改用户语句权限的数据库(如S_T数据库),在快捷菜单中选择“属性”命令,打开S_T数据的属性对话框;单击“权限”标签,打开对话框中的“权限”选项卡;在“权限”选项卡中列出了数据库中所有的用户,以及所有的语句权限,可以单击用户与权限交叉点上的方框来选择权限,单击“确定”按钮设置生效。 按照如上方法,将创建表、创建视图的权限授予tempuser。
对象权限的管理。右击要修改用户(或角色)对象权限的数据库(如S_T数据库),选择“用户”(或“角色”)目录,在右边用户(或角色)列表中双击某用户(角色),打开该用户(或角色)的属性对话框;选择“安全对象”选项卡,添加安全对象并设置各自的权限,单击“确定”按钮设置生效。
按照如上方法,将SELECT,UPDATE(Sname,Sage,Ssex,Sdept) ON Student的权限授予数据库用户temp1。将SELECT ON Student,Course,SC的权限授予数据库角色db_operator。
收回权限。
检验效果:用创建的用户替换sa系统用户,来尝试与数据库服务器的连接,对数据表中的数据进行存取操作,并记录与分析可能会遇到的问题。尝试通过授予更高的权限来解决问题。
5.3 利用T-SQL进行安全性控制 5.3.1 使用系统管理员账户设置SQL Server的安全认证模式,并添加SQL Server登录账户。
设置SQL Server的安全认证模式。(见4.2.1) 添加SQL Server登录帐号。
EXEC sp_addlogin 'testuser','qq','S_T','ENGLISH'
/*创建一个SQL Server登录名testuser,密码为qq,数据库为S_T,默认语言为英语*/
EXEC sp_addlogin 'test1','qq1','S_T','ENGLISH' EXEC sp_addlogin 'test2','qq2','S_T_1','ENGLISH' EXEC sp_addlogin 'test3','qq3','S_T_1','ENGLISH'
修改登录账号的属性。
EXEC sp_password 'qq','testqq','testuser'
删除登录账号(如testuser)。 EXEC sp_droplogin 'testuser'’
5.3.2 管理数据库用户
添加数据库用户
/* sp_grantdbaccess为登录帐号在当前数据库中添加一个安全账户,即数据库用户。以下T-SQL代码将登录帐号添加到S_T数据库用户中。*/ USE S_T
EXEC sp_grantdbaccess 'testuser','testuser' EXEC sp_grantdbaccess 'test1','test1' EXEC sp_grantdbaccess 'test2','test2' EXEC sp_grantdbaccess 'test3','test3'
删除数据库用户(如test3)
EXEC sp_revokedbaccess 'test3'
5.3.3管理数据库角色
添加数据库角色
/* 在S_T数据库中创建一个新角色db_operator,并将数据库用户test2,test3添加到该角色中 */ USE S_T
EXEC sp_addrole 'db_operator'
EXEC sp_addrolemember 'db_operator', 'test2' EXEC sp_addrolemember 'db_operator', 'test3'
删除数据库角色
/* 删除db_operator角色。 */ EXEC sp_droprole 'db_operator'
5.3.4 权限管理 语句权限的管理
系统管理员授予用户testuser如下权限:CREATE TABLE、CREATE VIEW。 USE S_T
GRANT CREATE TABLE, CREATE VIEW TO testuser
对象权限的管理
GRANT SELECT,UPDATE(Sname,Sage,Ssex,Sdept) ON Student TO test1 GRANT SELECT ON Student,Course,SC TO db_operator
收回权限
REVOKE CREATE TABLE, CREATE VIEW FROM testuser
REVOKE SELECT UPDATE(Sname,Ssex,Sdept)ON Student FROM test1 REVOKE SELECT ON Student FROM db_operator
检验效果:
用创建的用户替换sa系统用户,来尝试与数据库服务器的连接,对数据表中的数据进行存取操作,并记录与分析可能会遇到的问题。尝试通过授予更高的权限来解决问题。
附:实验内容提纲
利用S_T.sql建立示例数据库S_T。
设置SQL Server的安全认证模式:
(1) Windows身份验证模式;
(2) 混合模式(SQL Server和Windows身份验证模式) 添加SQL Server登录帐号:4个 tempuser, temp1, temp2, temp3; 密码分别为:tempqq, qq1, qq2, qq3。 为S_T数据库添加(数据库)用户:4个 tempuser, temp1, temp2, temp3
(与SQL Server登录帐号一一对应(映射))
为S_T数据库添加自定义(数据库)角色: 1个,即db_operator。
将数据库用户temp2和temp3添加到db_operator角色中,成为其角色成员。 将在S_T数据库中创建表、创建视图的权限授予数据库用户tempuser。 将SELECT,UPDATE(Sname,Sage,Ssex,Sdept) ON Student的权限授予数据库用户temp1。 将SELECT ON Student,Course,SC的权限授予数据库角色db_operator。
检验结果:用创建的登录账号替换sa系统账号,来尝试与数据库服务器建立连接,对数据表中的数据进行存取操作,并记录与分析可能会遇到的问题。尝试通过授予更高的权限来解决问题。
从数据库用户temp1回收UPDATE(Sname,Ssex,Sdept) ON Student的权限,从数据库角色db_operator回收SELECT ON SC的权限,然后检验结果的正确性。
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库数据库概论实验指导书(5)在线全文阅读。
相关推荐: