您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 项目7SQLServer数据库管理
SQLServer2005数据库基础项目七SQLServer数据库管理学习目标模块7.1数据库的安全性任务1使用SQLServerManagementStudio创建登录、数据库用户及角色【任务描述】创建一个服务器登录,名称为studentuser1,创建一个数据库角色student,创建一个student数据库的用户susan。【任务分析】一个SQLServer登录账号只有成为数据库的用户,对该数据库才有访问权限。每个登录账号在一个数据库中只能有一个用户账号,但可以在不同的数据库中各有一个用户账号。角色分为服务器角色和数据库角色两种,本任务要求创建的是数据库角色。任务1操作步骤1、启动SQLServerManagementStudio,在“对象资源管理器”窗口中选择服务器,展开【安全性】︱【登录名】,右击【登录名】,在弹出的快捷菜单中选择“新建登录名”命令,如左图所示。打开“新建登录名-新建”对话框,在“常规”选项页面中的“登录名”文本框内输入用入登录名称,如“studentuser1”,同时在密码框内输入密码和确认密码框内再次输入相同密码,默认数据库选择“student”,最后点击“确定”按钮,如右图所示。任务1操作步骤2、在“对象资源管理器”窗口中选择服务器,展开“数据库︱student︱安全性︱角色”,右击“数据库角色”,在弹出的快捷菜单中单击“新建角色”命令,打开“数据库角色-新建”对话框,在角色名称中输入“student”,然后单击“所有者”文本框右侧的浏览按钮。如左图所示。在打开的“选择数据库用户或角色”对话框中,单击右侧的“浏览”按钮,打开“查找对象”对话框中,在列表框中选择“student”数据库角色,如右图所示。任务1操作步骤3、在“对象资源管理器”窗口中选择服务器,展开“数据库︱student︱安全性”,右击“用户”,在弹出的快捷菜单中选择“新建用户”命令,如左图所示。打开“新建用户-新建”对话框,在“常规”选项页面中的“用户名”文本框内输入用户名称,如“susan”,如右图所示。任务1操作步骤4、单击“登录名”右侧的选择按钮,打开“选择登录名”对话框,点击右侧的“浏览”按钮,打开“查找对象”对话框,选择登录名,如“studentuser1”,如左图所示。返回“数据库用户-新建”对话框中,选择赋给用户的数据库角色,,在“数据库角色成员身份”列表框中选择“student”,完成新用户创建,如右图所示。拓展练习如何设置sa的密码?两种登录模式有何区别?知识说明Windows身份登录模式(不需要提供特别的登录密码)SQLServer登录模式(SQLServer登录需要密码)任务2使用SQLServerManagementStudio授予用户权限【任务描述】给student数据库的用户Susan授予查看Choice表、Class表、Course表的查看权限,并给相应的列授予相应的权限。【任务分析】用ManagementStudio、系统存储过程、系统视图、自定义脚本等等都可以确定你在SQLServer中的权限,还有用功能强大的fn_my_permissions表值函数也能确定。任务2操作步骤1、启动SQLServerManagementStudio,在“对象资源管理器”窗口中选择服务器,展开”数据库︱student︱安全性︱用户“,右击用户名”Susan”,在弹出的快捷菜单中选择“属性”命令,如左图所示。打开“数据库用户Susan”对话框,选择“安全对象”页,单击“添加”按钮,如右图所示。任务2操作步骤2、打开“添加对象”对话框,选择“特定对象”单选按钮,然后单击“确定按钮,如左图所示。在打开的“选择对象”对话框,单击右侧的“对象类型”按钮。打开“选择对象类型”对话框,在列表中选择相应的选项,单击确定按钮,如右图所示。任务2操作步骤3、在“选择对象”对话框中,单击右侧的“浏览”按钮,打开“查找对象”对话框,选择表Choice、Course、Course,然后单击“确定“按钮,如左图所示。在“数据库用户Susan”对话框内,先选择表Choice,然后在对话框下方的student显式权限列表框内选择Alter权限、Delete权限、Insert权限、Select权限,再进一步设置“列权限”,如右图所示。任务2操作步骤4、打开“列权限”对话框,对相应的列授予权限,如下图所示知识说明登录1)登录是账户标识符,用于连接到SQLSERVER2005账户都称为登录。其作用是用来控制对SQLServer2005的访问权限。SQLServer2005只有在首先验证了指定的登录账号有效后,才完成连接。但登录账号没有使用数据库的权力,即SQLServer2005登录成功并不意味着用户已经可以访问SQLServer2005上的数据库。2)SQLServer2005的登录账户相应有两种:SQL账户和Windows账户例如,添加Windows登录帐户EXECsp_grantlogin‘training\S26301’--域名\用户名添加SQL登录帐户EXECsp_addlogin‘zhangsan’,‘1234’--用户名,密码知识说明3)SQLServer2005中有两个默认的登录账户:BUILTIN\Administrators和sa。BUILTIN\Administrators提供了对所有Windows2005管理员的登录权限,并且具有在所有数据库中的所有权限。系统管理员(sa)是一个特殊的登录账户,只有在SQLServer2005使用混合验证模式时有效,它也具有在所有数据库中的所有权限。用户1)在数据库内,对象的全部权限和所有权由用户账户控制。2)在安装SQLServer后,默认数据库中包含两个用户:dbo和guest,即系统内置的数据库用户dbo代表数据库的拥有者(databaseowner)。每个数据库都有dbo用户,创建数据库的用户是该数据库的dbo,系统管理员也自动被映射成dbo。知识说明3)guest用户帐号在安装完SQLServer系统后被自动被加入到master、pubs、tempdb、和northwind数据库中,且不能被删除。用户自己创建的数据库默认情况下不会自动加入guest帐号,但可以手工创建。guest用户也可以像其他用户一样设置权限。当一个数据库具有guest用户帐号时,允许没有用户帐号的登录者访问该数据库。所以guest帐号的设立方便了用户的使用,但如使用不当也可能成为系统安全隐患。角色1)在SQLServer中,角色是管理权限的有力工具。将一些用户添加到具体某种权限的角色中,权限在用户成为角色成员时自动生效。“角色”概念的引入方便了权限的管理,也使权限的分配更加灵活。知识说明2)角色分为服务器角色和数据库角色两种。服务器角色具有一组固定的权限,并且适用于整个服务器范围。它们专门用于管理SQLServer,且不能更改分配给它们的权限。可以在数据库中不存在用户帐户的情况下向固定服务器角色分配登录。3)数据库角色与本地组有点类似,它也有一系列预定义的权限,你可以直接给用户指派权限,但在大多数情况下,只要把用户放在正确的角色中就会给予它们所需要的权限。一个用户可以是多个角色中的成员,其权限等于多个角色权限的“和”,任何一个角色中的拒绝访问权限会覆盖这个用户所有的其他权限。任务3使用T-SQL语句创建、查看、删除SQLServer登录账户【任务描述】创建SQLServer登录账号John,然后与student数据库中的用户studentuser2相关联,最后删除登录账号John。【任务分析】使用系统存储过程来完成权限的管理。根据任务要求,先查看student数据库中有没有用户studentuser2,如果无此用户,要先创建。注意:最后要删除与登录名相关联的数据库用户,才能删除登录账户。任务3源代码Sp_addlogin‘John’,’wuygh1994’,studentGoExecsp_helploginsUsestudentExesp_helpuserGoUsestudentExecsp_grantdbaccess‘John’,’studentuser2’GoExecsp_revokedbaccess‘studentuser2’Execsp_droplogin‘John’任务4使用T-SQL语句创建和管理数据库用户及角色【任务描述】使用T-SQL语句创建和管理数据库用户Peter。【任务分析】创建用户名时,必须关联一个登录名,可以分为三个子任务:(1)使用CREATEUSER语句,创建一个名为Peter的登录名。(2)创建用户Peter,并将它与登录名Peter进行映射关联。(3)创建角色auditors,并将用户Peter加入auditors角色中。任务4操作步骤USEstudentGOCREATELOGINPeterWITHpassword=‘wuygh1994’CREATEUSERPeterFORLOGINPeterGOCREATEROLEauditorsEXECUTEsp_addrolemember‘auditors’,’Peter’任务4使用T-SQL语句授予与收回用户权限【任务描述】授予用户Peter查看student数据库中course和teacher表的权限;然后拒绝Peter查看student数据库中teacher的权限;撤消Peter查看student数据库中course的权限。【任务分析】根据任务要求,使用GRANT,DENY和REVOKE语句来完成权限的管理。在SQLServer中使用GRANT、DENY、REVOKE三条Transact-SQL语句来管理权限。GRANT命令用于把权限授予某一用户,以允许该用户执行针对某数据库对象的操作或允许其运行某些语句。DENY命令可以用来禁止用户对某一对象或语句的权限,它不允许该用户执行针对数据库对象的某些操作或不允许其运行某些语句。REVOKE命令可以用来撤销用户对某一对象或语句的权限,使其不能执行操作,除非该用户是角色成员,且角色被授权。任务5源代码USEstudentGRANTSELECTONcourseTOPeterGRANTSELECTONteacherTOPeterGODENYSELECTONteacherTOPeterGOREVOKESELECTONcourseTOPeterGO标准角色Public:最基本的数据库角色,每个用户都属于该角色Db_owner:在数据库中有全部权限Db_accessadmin:可以添加或删除用户IDDb_securityadmin:可以管理全部权限、对象所有权、角色和角色成员资格Db_ddladmin:可以发出所有DDL语句,但不能发出GRANT、REVOKE或DENY语句标准角色Db_backupoperator:可以发出DBCC、CHECKPOINT和BACKUP语句。Db_datareader:可以选择数据库内任何用户表中的所有数据。Db_datawriter:可以更改数据库内任何用户表中的所有数据。Db_denydatareader:不能选择数据库内任何用户表中的任何数据。Db_denydatawriter:不能更改数据库内任何用户表中的任何数据。练习1、SQLSERVER有几种验证方式?它们的区别是什么?2、什么是角色?服务器角色和数据库角色的区别是什么?3、权限分为哪几种?它们有什么区别?4、添加一个用户账户studentuser,其登录密码为s123456。5、删除上面的用户studentuser。学习目标学习任务任务1使用SQLServerManagementStudio完整备份student数据库【操作步骤】在对象资源管理器窗口中展开【数据库】︱【student】︱【任务】︱【备份】,单击备份命令打开“备份数据库-student”对话框,设置备份集名称和备份路径任务1操作步骤在“指定设备”对话框中,在“备份位置”文本框
本文标题:项目7SQLServer数据库管理
链接地址:https://www.777doc.com/doc-1242535 .html