实验三:SQL SERVER20052008 账户及权限管理.docx
《实验三:SQL SERVER20052008 账户及权限管理.docx》由会员分享,可在线阅读,更多相关《实验三:SQL SERVER20052008 账户及权限管理.docx(20页珍藏版)》请在三一办公上搜索。
1、实验三:SQL SERVER2005/2008账户及权限管理1、实训目的熟悉SQL Server中安全主题、安全对象以及权限的概念掌握账户创建以及权限授予撤销的T-SQL语法熟悉架构的概念、用途以及创建架构的方法熟悉登录账户和数据库用户之间的区别2、实验准备专业实验室机房、SQL Server 2008R2企业版、Word、Visio3、相关知识介绍(1)、SQL Server 账户SQL Server中的账户属于安全主体的范畴,根据账户的作用范围,存在着“登 录账户”和“数据库用户”两种类型的账户。其中登录账户被设计成只是进ASQL Server服务器实例的一种账户,并非想使用它直接访问实例
2、下的数据库,在使用 登录账户进入服务器实例后,如果想访问实例下某个数据库,还必须将登录账户 映射到该数据库中的一个数据库用户,最后以该数据库用户的身份访问数据库中 的对象。在使用登录账户登录SQL Server服务器实例的过程中,系统首先要对所使用 的登录账户及其密码是否有效进行检查(称为“身份验证”),以避免非法用户的 访问。身份验证的工作根据设置既可以由Windows进行也可以由SQL Server来进 行。SQL Server的登录账户是SQL Server服务器实例级别的安全主体,无论 windows级别的安全主体还是数据库级别的安全主体,都需要和它建立映射关 系,以便数据库的正常访问
3、。(2)、登录账户与数据库用户的映射过程除了 windows账户需要映射到登录账户外,各数据库中的用户也需要映射 到登录账户才能实现数据库的正确访问。在设置登录账户和数据库用户的映射关 系时,可以将一个登录账户设置为同时与多个数据库中的用户相映射。但是一个 登录账户在一个数据库中只能和该数据库的一个用户相映射。(3)、架构(Schema)在SQL Server2005/2008中,架构是存放数据库对象的容器,用于将数据库中的对象按 其性质、用途、功能等在逻辑上进行分类,逻辑上不同类的数据库对象存储在不同的架构下。 架构同数据库对象之间的关系有点像Windows中的文件夹和文件的关系一样。在Wi
4、ndows 中,一个文件夹可以包含多个不同类型的文件,而一个文件只能存在于一个文件夹下。同样, 一个架构可以包含多个不同类型的对象,而一个对象只能存在于一个架构之下。而数据库用 户同架构之间则是一种拥有和被拥有的关系,一个用户可以拥有零个或多个架构,而一个架 构只能且必须被一个用户所拥有,数据库中不存在没有拥有者的架构。用户拥有某个架构, 表明该用户对该架构具有执行ALTER、CONTROL、SELECT、UPDATE等十多种系统预定 义操作的权力,该用户基本上可以对架构本身以及架构中包含的对象执行任何操作。数据库 用户除了可以拥有架构之外,还必须为其指定一个默认架构,默认架构是用户默认的一个
5、“工 作区域”,用户在访问(比如创建、查询等)数据库对象时如果没有明确指出对象所处的架 构,就在这个默认的“工作区域”开始工作。一个架构可以被多个用户作为其默认架构,该 架构实际上成了这些用户公共的“默认区域”。在数据库中创建用户时,如果没有显式指定 其默认架构,系统自动将dbo架构作为该用户的默认架构,因此dbo架构是系统准备为用户 指定的默认“公共区域”,这也是其存在的主要目的。4、实验步骤及内容登录账户、数据库用户以及权限综合实验要求: 在windows操作系统中创建一个新的账号administrator2,让其隶属于users组。 基于 windows账户administrator2,
6、创建一个与之相映射的SQL Server登录账户“MAJIANMINGadministrator2”。 以新创建的登录账户“ MAJIANMINGadministrator2 ”登录SQL Server实例,尝试访问 该登录账户的默认数据库“master”,并观察master数据库中与登录账户“MAJIANMINGadministrator 2” 相映射的数据库用户。 尝试访问非默认的非系统数据库“AdventureWorks2008R2”,分析不能访问该数据库的 原因。 给“ AdventureWorks2008R2”数据库下的用户guest授予连接数据库的权限(connect权限), 然后
7、再次以“ MAJIANMINGadministrator 2”登录账户登录实例并访问数据库 AdventureWorks2008R2,看能否成功。 在“AdventureWorks2008R2”数据库下创建一个新的数据库用户AW_User1,并将其映 射到登录账户。 使用该数据库用户AW_User1访问AdventureWorks2008R2,查看登录账户和数据库用户 映射情况。 使用AW_User1身份在AdventureWorks2008R2创建表t1,并在表中插入测试数据。 将AW_User1用户加入到db_owner数据库角色,使其成为该数据库角色的成员使用AW_User1 身份在Ad
8、ventureWorks2008R2中创建新的架构AW_User1_Schema,并将 该架构作为自己的默认架构,在该架构下创建表t2,并将db。架构下的t1表转到 AW_User1_Schema架构下。操作步骤:第一步:实验前准备工作(1):创建windows账户administrator?,并让其隶属于users组。确定取消(2):以系统管理身份登录SQL SERVER,创建一个新的数据库,用于后面的测试(注意:为了确保连接的是本机的SQL实例,红色园圈处可以使用本机IP地、本机主机 名、localhost、127.0.0.1 等几种方式。)确定即可完成新数据库Mydatabasel的创建
9、。(3):修改登录帐户sa的密码,以便于后面的测试连接但)暮 囱- J localhost (SQL Server 9.0.3042 - STV65student)-一J数据库+ 一J系统数冤库+ 一J数据库快照-一J安全性-一J登录名务 EUILTINVAdmini strators R HT AUTHORITYSYSTEMsa+贸ETU 贸ETU 忿|ETU & STU Ca服务器 _J凭据 服务器对置 复制 管理新建登录名编写登录脚本为危)报表重命名册除刷新(I)属性d)I2O$MSSQLSERVERI2O$MSSQLSERVER:STU20$MSSQLSERVERNoti fi cat
10、SQL Serve修改成自己的密码后确定即可。第二步:基于windows账户administrator?,创建一个与之相映射的SQL Server登录账户。图形方式创建如下:然后确定,即可创建基于windows帐户administrator2的SQL SERVER登录帐户STU65administrator结果如下:localhost CSQL Server 9. 0. 3042 - STU65student)一J数据库一J安全性-1 D登录名 BUILTINVAdmimstrators沃 NT AUTHORITYSYSTEM.气sa STU20SQLServer2005MSFTEUser$S
11、TU20$MSSQLSERVER STU20SQLServer2005MSSQLUser$STU20$MSSQLSERVER STU20SQLServer2005SQIAgentUser$STU20$MSSQLSERVERR STU65.adniin.istratorZ+ 一J服务器角色+ 一J凭据吕吕国田田田田田服务器对象复制管理Nuti fi cati on Servi cesSQL Server 代理(请大家注意: 这是登录帐户STU65student在创建新登录帐户STU65administrator2)命令方式创建如下:(如果用图形方式创建了登录帐户,就不需要再使用命令方式了-以sa
12、登录账户或windows管理员身份登录SQL Server实例-在新的查询分析器中输入以下命令创建新的SQL Server登录账户MAJIANMINGadministrator2”USE masterGOCREATE LOGIN STU65administrator2 FROM WINDOWS WITHDEFAULT_DATABASE=masterGO从上图观察,新的登录账户“STU65administrator2”创建成功。第三步:以新创建的登录账户“STU65administrator2”登录SQL Server实例,检查它与各 个数据库在数据库用户在映射情况。尝试访问该登录账户的默认数据
13、库“ master”,并观察master数据库中与登录账户 “ STU65administrator 2”相映射的数据库用户。Use master goselect distinct hostname,loginame, name as user_name,program_name from master.sysprocesses a left join sysusers b on a.uid=b.uidwhere hostname!=* and islogin=1goUm 已 inast 已 izm已 1 已ut. clist iliet hostn;3irie ,r logiii;airi
14、E r ii;ain已 as user_ii;ain已口r ugr;3ii_ii;airi已 f roin inast-Eiz n n sysprocessps a left, join sysusers toon a n uicl=l:i n uidwhere host.ii:airiE ! = 1 1 and islogin= 1go J结果L*消息hostname loginameuser_name program_nameSTU65S TIESwdiriini 或rmt顷2guestMicrosoft SQL Server Management Studio -查ifil可以清楚的发现
15、“Microsoft SQL Server Management Studio -查询”这个程序在访问master 数据库时,是将该数据库用户guest与登录账号“STU65administrator2”相映射。 尝试访问非默认的数据库“Mydatabase1”,分析不能访问该数据库的原因。us e iriydat. ato as e 1go口匚二二二i二二|叫一二二二消息消息泌,级别皿状态,第行、-二服务器主阵STU6S- administrator2无法在当前安全上下文下访问数据库My膈匕ah点w 1即:STU65administrator2在访问Mydatabase1时出现下列提示:不能
16、访问的原因:是因为登录帐户STU65administrator2映射到了 Mydatabase1数据库下的 guest用户,而uest用户默认是没有connect权限的;所以导致Mydatabase1不能访问。 可以发现,在 Mydatabase1数据库3”安全性”3”用户”下有:dbo、guest、 INFORMATION_SCHEMA、sys这4个默认存在的数据库用户。其中,dbo用户只能和sa 登录账户映射;另外两个未知;第四步:数据库用户dbo给数据库用户guest授予权限 请sa登录帐户所映射的dbo数据库用户给“Mydatabasel”数据库下的用户guest授予连接 数据库的权限
17、(connect权限)。使用SA登录账户,新建一个到SQL Server实例的连接。对象资源管理器 P X连接敏,莪二+ ijj STU65 CSQL Server 9.0.3042 - STUS5adminiStrator2)+ ijj STU65 GQL Server 9.0.3042 - sa)在SA登录账户的会话中,新建查询分析,并输入以下授予语句给Mydatabase1数据库的用户 guest授予 connect权限。USE MydatabaselGOGRANT CONNECT TO guestGO 再次切换到“STU65administrator2”登录账户的会话中,尝试访问数据库
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验三:SQL SERVER20052008 账户及权限管理 实验 SQL 账户 权限 管理
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-5175100.html