Model08SQLSERVER安全机制_第1页
Model08SQLSERVER安全机制_第2页
Model08SQLSERVER安全机制_第3页
Model08SQLSERVER安全机制_第4页
Model08SQLSERVER安全机制_第5页
已阅读5页,还剩110页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、-江阴职业技术学院计算机系江阴职业技术学院计算机系-2021-11-26Microsoft SQL Server 200812021-11-26Microsoft SQL Server 20081数据库系统设计与项目应用-基于MS SQL Server 2008潘永惠 博士 副教授-江阴职业技术学院计算机系江阴职业技术学院计算机系-2021-11-26Microsoft SQL Server 20082模块08教务管理系统安全性教务管理系统安全性 -数据库系统设计与项目应用课程-江阴职业技术学院计算机系江阴职业技术学院计算机系-2021-11-26Microsoft SQL Server 20

2、083工作任务与学习目标08模块-江阴职业技术学院计算机系江阴职业技术学院计算机系-2021-11-26Microsoft SQL Server 20084Preface “教学管理系统”数据库【DB_TeachingMS】创建完成后,必须设法使之免遭非法用户的侵入和访问,保证数据库的安全性。SQL Server 2008提供了从操作系统、服务器、数据库到数据对象的多级别的安全保护,并涉及到数据库登录、用户、权限等安全性方面的设置。-江阴职业技术学院计算机系江阴职业技术学院计算机系-2021-11-26Microsoft SQL Server 20085任务8-1 创建Windows身份验证模

3、式登录名 任务8-1-江阴职业技术学院计算机系江阴职业技术学院计算机系-2021-11-26Microsoft SQL Server 20086 【任务描述】 项目经理孙教授要求第3项目小组的李娜同学为“教学管理系统”数据库的两个教师分别用向导方式和T-SQL方式创建名为“Teacher_Yao”和“Teacher_Zhang”的SQL Server身份验证模式的登录名。 【任务描述与分析】任务8-1创建Windows身份验证模式登录名 -江阴职业技术学院计算机系江阴职业技术学院计算机系-2021-11-26Microsoft SQL Server 20087任务8-1创建Windows身份验

4、证模式登录名 SQL Server 2008的安全机制可以分为5个等级。 客户机安全机制 网络传输安全机制 服务器级安全机制 数据库级安全机制 数据库对象级安全机制 以上的每个等级就好像一道安全大门,用户必须打开每一道门才能到达下一个安全等级。如果通过了所有的门,用户就可以实现对数据库中的数据的访问。这种关系如下图所示。【相关知识与技能】-江阴职业技术学院计算机系江阴职业技术学院计算机系-2021-11-26Microsoft SQL Server 20088 1.客户机安全机制 用户在使用客户计算机通过网络对SQL Server服务器进行访问时,用户首先要获得客户计算机操作系统的使用权。 2

5、.网络传输安全机制 通常情况下,在能够实现网络互联的前提下,用户没有必要对运行SQL Server服务器的主机进行直接登录,而是通过网络连接远程登录到SQL Server服务器上。此时,用户要取得访问SQL Server服务器所在网络的权限。 3.服务器级别安全机制 SQL Server 的服务器级别安全建立在控制服务器的登录的基础上,SQL Server一般采用Windows身份验证和SQL Server身份验证两种登录模式。无论使用那种登录方式,用户在登录时提供的登录账号和密码决定了用户能否获得SQL Server的访问权限。【相关知识与技能】任务8-1创建Windows身份验证模式登录名

6、-江阴职业技术学院计算机系江阴职业技术学院计算机系-2021-11-26Microsoft SQL Server 20089 4.数据库级别安全机制 这个级别的安全性主要通过数据库用户进行控制,要想访问一个数据库,必须拥有该数据库的一个用户身份。数据库用户是通过登录名进行映射的,可以属于固定的数据库角色或自定义数据库角色。 5.数据库对象级别安全机制 这个级别的安全性通过设置数据库对象的访问权限进行控制。数据库对象的安全性是SQL Server安全机制的最后一个安全等级。数据库对象的访问权限定义了数据库用户对数据库中数据对象的引用、数据操作语句的许可权限,这可以通过定义对象和语句的许可权限来实

7、现。在创建数据库对象的时候,SQL Server自动把该数据库对象的拥有权赋予给它的所有者(创建者)。【相关知识与技能】任务8-1创建Windows身份验证模式登录名-江阴职业技术学院计算机系江阴职业技术学院计算机系-2021-11-26Microsoft SQL Server 200810任务8-1创建Windows身份验证模式登录名 在SQL Server中,登录账户(登录名)是用来登录SQL Server服务器的账户,一个合法的登录账户只表明该使用数据库的人员通过了SQL Server服务器的验证,但不能表明他可以对相应的数据库和数据库对象进行操作。 SQL Server 2008有两种

8、身份验证方式:Windows身份验证和SQL Server身份验证。 Windows身份验证:身份验证:当用户通过Windows用户帐户连接时,SQL Server使用操作系统中的Windows标记的帐户名和密码。也就是说,用户身份由Windows进行确认,SQL Server不要求提供密码,也不执行身份验证。Windows身份验证是默认身份验证模式,并且比SQL Server身份验证更为安全。【相关知识与技能】-江阴职业技术学院计算机系江阴职业技术学院计算机系-2021-11-26Microsoft SQL Server 200811任务8-1创建Windows身份验证模式登录名 SQL S

9、erver身份验证:身份验证:当使用SQL Server身份验证时,在SQL Server中创建的登录名并不基于Windows用户帐户。用户名和密码均通过使用SQL Server创建并存储在SQL Server中。通过SQL Server身份验证进行连接的用户每次连接时必须提供其凭据(登录名和密码)。 SQL Server 2008允许两种身份验证模式:“Windows身份验证模式”和“混合身份验证模式”。所谓“Windows身份验证模式”是指SQL Server只采用“Windows身份验证”进行用户登录验证,而“混合身份验证模式”是指SQL Server同时采用“Windows身份验证”和

10、“混合身份验证”进行用户登录验证。【相关知识与技能】-江阴职业技术学院计算机系江阴职业技术学院计算机系-2021-11-26Microsoft SQL Server 200812任务8-1创建Windows身份验证模式登录名 当帐户登录到SQL Server实例(服务器)以后并不代表帐户就能够访问数据库,而是必须在数据库中有数据库用户与其对应。 用户访问SQL Server的目的就是为了能够操作数据库,当登录到SQL Server时将会自动连接到默认数据库中(创建登录时指定默认数据库,同时为该默认数据库创建了同名用户)。 SQL Server 2008对数据库级的权限管理采用的是“数据库用户”

11、的概念,数据库的安全机制就是要求对不同的数据库登录用户设置不同的默认数据库。【相关知识与技能】-江阴职业技术学院计算机系江阴职业技术学院计算机系-2021-11-26Microsoft SQL Server 200813任务8-1任务8-1创建Windows身份验证模式登录名【任务实施与拓展】-江阴职业技术学院计算机系江阴职业技术学院计算机系-2021-11-26Microsoft SQL Server 200814任务8-1创建Windows身份验证模式登录名 (1)单击【开始】-【设置】-【控制面板】命令,弹出【控制面板】窗口。 (2)双击【管理工具】-【计算机管理】图标,弹出如下图所示的

12、【计算机管理】窗口。【任务实施与拓展】 子任务子任务:创建Windows XP操作系统用户 -江阴职业技术学院计算机系江阴职业技术学院计算机系-2021-11-26Microsoft SQL Server 200815任务8-1创建Windows身份验证模式登录名 (3)单击【本地用户和组】节点,右击【用户】图标,弹出快捷菜单,选择【新建用户】命令,弹出的【新用户】对话框。在【用户名】文本框中输入“Teacher_Yao”,在【全名】中输入“Teacher_Yao”,在【密码】与【确认密码】中输入“TYPassword”。 (4)去掉【新用户】对话框中【用户下次登录时须更改密码】项的选择,同时

13、勾选【密码永不过期】项,如图8-3所示,然后单击【创建】按钮。用同样的方式再创建一个【Teacher_Zhang】用户。 (5)关闭【创建用户】对话框,在【用户管理】窗口有如图8-4所示的【Teacher_Yao】和【Teacher_Zhang】帐户。【任务实施与拓展】-江阴职业技术学院计算机系江阴职业技术学院计算机系-2021-11-26Microsoft SQL Server 200816任务8-1创建Windows身份验证模式登录名【任务实施与拓展】-江阴职业技术学院计算机系江阴职业技术学院计算机系-2021-11-26Microsoft SQL Server 200817 1.向导方式

14、创建Teacher_Yao登录名 (1)在SSMS的【资源管理器】中,右击【安全性】-【登录名】节点,如图8-5所示,在弹出的快捷菜单中单击【新建登录名】,弹出【登录名-新建】对话框。任务8-1创建Windows身份验证模式登录名【任务实施与拓展】 子任务子任务:创建Windows验证模式的登录账户 -江阴职业技术学院计算机系江阴职业技术学院计算机系-2021-11-26Microsoft SQL Server 200818 (2)在【登录名-新建】对话框中,单击【搜索】命令,弹出如图8-6所示的【选择用户或组】对话框。任务8-1创建Windows身份验证模式登录名【任务实施与拓展】-江阴职业

15、技术学院计算机系江阴职业技术学院计算机系-2021-11-26Microsoft SQL Server 200819(3)在【选择用户或组】对话框中,单击【高级】按钮,弹出【选择用户或组】的高级对话框。在此窗口中单击【立即查找】按钮,则【选择用户或组】高级对话框的下部将列出Windows XP操作系统用户,如图8-7所示。任务8-1创建Windows身份验证模式登录名【任务实施与拓展】-江阴职业技术学院计算机系江阴职业技术学院计算机系-2021-11-26Microsoft SQL Server 200820(4)单击选中【Teacher_Yao】用户,然后单击【确定】按钮,回到图所示的【选择

16、用户或组】对话框,在【输入要选择的对象名称】项中出现刚才选中的Windows XP操作系统用户【Teacher_Yao】。如图8-8所示。 任务8-1创建Windows身份验证模式登录名【任务实施与拓展】-江阴职业技术学院计算机系江阴职业技术学院计算机系-2021-11-26Microsoft SQL Server 200821任务8-1创建Windows身份验证模式登录名(5)单击图8-8中【确定】按钮,回到【登录名-新建】对话框,选择默认数据库为【DB_TeachingMS】,登录名与默认数据库选项内容如图8-9所示。单击【确定】按钮,完成将Windows XP操作系统用户【Teacher

17、_Yao】在SQL Server 2008中的登录名注册。 【任务实施与拓展】-江阴职业技术学院计算机系江阴职业技术学院计算机系-2021-11-26Microsoft SQL Server 200822任务8-1创建Windows身份验证模式登录名 2.Transact-SQL方式创建Teacher_Zhang登录名 (1)在SSMS窗口中单击【新建查询】按钮,打开一个查询输入窗口。 (2)在窗口中输入如下创建【Teacher_Zhang】登录名的T-SQL语句。【任务实施与拓展】USE masterGOCREATE LOGIN 服务器名Teacher_Yao FROM WINDOWSGO-

18、江阴职业技术学院计算机系江阴职业技术学院计算机系-2021-11-26Microsoft SQL Server 200823任务8-1创建Windows身份验证模式登录名 (3)单击【执行】按钮执行语句,如果成功执行,在结果窗格中同样显示“命令已成功完成”提示消息。 (4)在SSMS的【资源管理器】中,展开【安全性】-【登录名】节点,即可发现两个新创建的【Teacher_Yao】和【Teacher_Zhang】登录名,如图8-10所示。【任务实施与拓展】-江阴职业技术学院计算机系江阴职业技术学院计算机系-2021-11-26Microsoft SQL Server 200824任务8-1创建W

19、indows身份验证模式登录名 此时,SQL Server 2008已经分别将Windows XP操作系统的用户【Teacher_Yao】和【Teacher_Zhang】注册成了SQL Server 2008的登录名。此时,可以注销Windows XP操作系统的用户,重新用【Teacher_Yao】或【Teacher_Zhang】登录Windows XP操作系统。然后启动SSMS,用【Teacher_Yao】登录名以Windows身份验证方式登录SQL Server 2008,你会发现不能正常登录,登录时出现如图8-11所示的错误。【任务实施与拓展】 出现错误的原因是:创建登录名后,必须为登录

20、名创建关联的数据库用户,否则登录名无法正常登录SSMS。 一个名可以在多个数据库中创建用户,这样,通过登录名登录SQL Server 2008后,可以使用多个数据库。-江阴职业技术学院计算机系江阴职业技术学院计算机系-2021-11-26Microsoft SQL Server 200825-计算机管理用户界面,事先建好WINDOWS用户Teacher_Zhang-打开主数据库,建立windows方式登陆数据库服务器的用户USE masterGOCREATE LOGIN CSCTeacher_Zhang FROM WINDOWSGO任务8-1创建Windows身份验证模式登录名【任务实施与拓展

21、】【 任务拓展任务拓展 1】使用SQL语句创建WINDOWS登录用户-江阴职业技术学院计算机系江阴职业技术学院计算机系-2021-11-26Microsoft SQL Server 200826任务任务8-1 创建Windows验证模式的登录账户 -CSC为服务器名,为数据库服务器登录用户建立数据库访问用户 USE DB_TeachingMS GO CREATE USER CSCTeacher_Zhang FOR LOGIN CSCTeacher_Zhang GO验证:(1)关闭“SSMS”界面,注销操作系统用户,重新以“Teacher_Zhang”用户登录。 (2)重新打开“SSMS”,以“

22、Teacher_Zhang”用户登录。【任务实施与拓展】-江阴职业技术学院计算机系江阴职业技术学院计算机系-2021-11-26Microsoft SQL Server 200827任务任务8-1 创建Windows验证模式的登录账户 创建用户名为创建用户名为08wj的的WINDOWS登录用户,登陆后默认登录用户,登陆后默认数据库为数据库为DB_BooksMS,观察效果,观察效果 -必须先在计算机管理增加用户08wj,然后运行下列语句 -创建WINDOWS登陆数据库服务器用户 USE master GO CREATE LOGIN CSC08wj FROM WINDOWS GO -SQL语句创建

23、数据库用户 USE DB_BooksMS GO CREATE USER CSC08wj FOR LOGIN csc08wj GO【任务实施与拓展】【 任务拓展任务拓展 2】-江阴职业技术学院计算机系江阴职业技术学院计算机系-2021-11-26Microsoft SQL Server 200828任务8-2 创建与登录名同名的数据库用户 任务8-2-江阴职业技术学院计算机系江阴职业技术学院计算机系-2021-11-26Microsoft SQL Server 200829 【任务描述】 为了使任务8-1中创建的Windows验证模式的登录名能够正常的登录到数据库服务器实例,第3项目小组继续要求

24、李娜同学为刚刚创建的【Teacher_Yao】和【Teacher_Zhang】登录名分别用向导方式和T-SQL方式创建对应的同名数据库用户名【Teacher_Yao】和【 Teacher_Zhang】。【任务描述与分析】任务8-2创建与登录名同名的数据库用户-江阴职业技术学院计算机系江阴职业技术学院计算机系-2021-11-26Microsoft SQL Server 200830任务8-2创建与登录名同名的数据库用户 在SQL Server 2008中,登录账户(登录名)和数据库用户是两个不同的概念。登录名是用来登录SQL Server服务器的登录账户,而数据库用户是登录SQL Server

25、服务器后用来访问具体某个数据库的用户账户。一个合法的登录名只表明该使用数据 库 的 人 员 通 过 了 数 据 库 服 务 器 的 验 证(Windows身份验证或SQL Server身份验证),但不能表明他可以对相应的数据库和数据库对象进行某些操作。一般一个登录名总是与一个或多个数据库用户相关联,这样才能访问对应的数据库。例如,系统登录名sa自动与每个数据库用户dbo相关联,所以sa登录SQL Server 2008服务器后可以访问每个数据库。【相关知识与技能】-江阴职业技术学院计算机系江阴职业技术学院计算机系-2021-11-26Microsoft SQL Server 200831 8-

26、2-1 数据库用户数据库用户 1.登录名与用户映射关系 要访问特定的数据库还必须具有对应的数据库用户名,而用户名在特定的数据库内创建时,必须关联一个登录名。创建后的用户名必须分配相应访问数据库对象的权限,这样,用这个用户关联的登录名登录SQL Server 2008服务器的人员才能正常访问对应数据库中的对象。 可以这样想象,假设SQL Server是一个包含许多房间的大楼,每个房间代表一个数据库,房间里的柜子、抽屉等就是数据库中的对象。而登录名就相当于进入大楼的钥匙,而每个房间的钥匙就是每个数据库的用户,而赋给数据库用户的权限就相当于每个柜子和抽屉的钥匙。对应关系如图8-12所示。【相关知识与

27、技能】任务8-2创建与登录名同名的数据库用户-江阴职业技术学院计算机系江阴职业技术学院计算机系-2021-11-26Microsoft SQL Server 200832【相关知识与技能】任务8-2创建与登录名同名的数据库用户-江阴职业技术学院计算机系江阴职业技术学院计算机系-2021-11-26Microsoft SQL Server 200833任务8-2创建与登录名同名的数据库用户 2.Guest用户 在SQL Server 2008中,有一个特殊的数据库用户那就是guest,可以使任何已经登录到SQL Server 2008服务器的帐户,都可以访问有guest用户的数据库。 一个没有映

28、射到数据库用户的登录帐户试图登录到数据库的时候,SQL Server 2008将尝试用guest用户进行连接。可以通过为guest用户授权CONNECT权限以启用guest用户。在考虑是否启用的时候一定要谨慎,因为这样会为数据库系统环境的安全带来隐患。不能删除guest用户,但可禁用除master或temp数据库之外的任何数据库中的guest用户。【相关知识与技能】-江阴职业技术学院计算机系江阴职业技术学院计算机系-2021-11-26Microsoft SQL Server 200834任务8-2创建与登录名同名的数据库用户 1.向导方式数据库用户Teacher_Yao (1)在SSMS中【

29、DB_TeachingMS】数据库的【安全性】-【用户】节点上右击,单击快捷菜单中的【新建用户】选项,弹出【数据库用户-新建】对话框,在用户文本框内输入与【Teacher_Yao】登录名同名的数据库用户【Teacher_Yao】,如图8-13所示。 图图8-13 登录名选择登录名选择 (2)然后单击图中【登录名】后面的选择按钮【】,弹出【选择登录名】对话框。然后单击【选择登录名】对话框中的【浏览】按钮,弹出【查找对象】对话框,在【匹配的对象】栏内勾选【Teacher_Yao】登录名,如图8-14所示。【任务实施与拓展】 子任务子任务:创建数据库用户Teacher_Yao -江阴职业技术学院计算

30、机系江阴职业技术学院计算机系-2021-11-26Microsoft SQL Server 200835任务8-2创建与登录名同名的数据库用户【任务实施与拓展】-江阴职业技术学院计算机系江阴职业技术学院计算机系-2021-11-26Microsoft SQL Server 200836(3)单击【查找对象】对话框中的【确定】按钮,回到【选择登录名】对话框,如图8-15所示。(4)单击【选择登录名】对话框中的【确定】按钮,回到【数据库用户-新建】对话框。可以发现【登录名】栏内出现了【JYPC-PYHTeacher_Yao】。(5)单击【数据库用户-新建】对话框中的【确定】按钮,即可为【Teach

31、er_Yao】登录名创建同名的数据库用户【Teacher_Yao】。任务8-2创建与登录名同名的数据库用户【任务实施与拓展】-江阴职业技术学院计算机系江阴职业技术学院计算机系-2021-11-26Microsoft SQL Server 200837任务8-2创建与登录名同名数据库用户 (1)在SSMS窗口中单击【新建查询】按钮,打开一个查询输入窗口。 (2)在窗口中输入如下创建【Teacher_Zhang】登录名的同名数据库用户【Teacher_Zhang】的T-SQL语句。【任务实施与拓展】USE DB_TeachingMSGOCREATE USER Teacher_Zhang FOR L

32、OGIN JYPC-PYHTeacher_ZhangGO(4)在SSMS的【资源管理器】中,展开数据库【DB_TeachingMS】-【安全性】-【用户】节点,即可发现两个新创建的用户【Teacher_Yao】和【Teacher_Zhang】,如图8-16所示。-江阴职业技术学院计算机系江阴职业技术学院计算机系-2021-11-26Microsoft SQL Server 200838任务8-2创建与登录名同名数据库用户【任务实施与拓展】(4)在SSMS的【资源管理器】中,展开数据库【DB_TeachingMS】-【安全性】-【用户】节点,即可发现两个新创建的用户【Teacher_Yao】和【

33、Teacher_Zhang】,如图8-16所示。-江阴职业技术学院计算机系江阴职业技术学院计算机系-2021-11-26Microsoft SQL Server 200839 重新注销Windows XP操作系统的用户,用【Teacher_Yao】登录Windows XP操作系统。然后启动SSMS,用【Teacher_Yao】登录名以Windows身份验证方式登录SQL Server,可以顺利登录到SQL Server服务器实例。 此时,我们可以尝试访问SQL Server服务器实例中的不同数据库,却发现不能对任何一个数据库进行有效地访问,原因是我们还没有对刚才创建的数据库用户【Teacher

34、_Yao】赋予相应的访问权限。任务8-2创建与登录名同名数据库用户【任务实施与拓展】-江阴职业技术学院计算机系江阴职业技术学院计算机系-2021-11-26Microsoft SQL Server 200840不能从数据库中删除拥有架构或安全对象的用户。必须先删除或转移安全对象的所有权,才能删除拥有这些安全对象的数据库用户。可以通过向导方式和T-SQL语句两种途径来删除【DB_TeachingMS】数据库的用户【Student_Sun】。向导方式向导方式(1)以默认的Windows登录名或系统登录名sa,登录SQL Server。(2)在SSMS的【资源管理器】中,右击【DB_Teaching

35、MS】数据库中的【安全性】-【用户】-【Student_Sun】用户,单击弹出快捷菜单中的【删除】命令,如图8-17所示,打开【删除对象】对话框。任务8-2创建与登录名同名的数据库用户【任务实施与拓展】【 任务拓展任务拓展 1】删除数据库用户 -江阴职业技术学院计算机系江阴职业技术学院计算机系-2021-11-26Microsoft SQL Server 200841任务8-2创建与登录名同名的数据库用户(3)单击【删除对象】对话框中的【确定】按钮,即可删除数据库中的【Student_Sun】用户。【任务实施与拓展】-江阴职业技术学院计算机系江阴职业技术学院计算机系-2021-11-26Mic

36、rosoft SQL Server 200842任务8-2创建与登录名同名数据库用户 T-SQL方式方式 (1)以默认的Windows登录名或系统登录名sa,登录SQL Server。 (2)在SSMS中单击【新建查询】按钮,在查询分析器中输入下述T-SQL语句。( 3 ) 单 击 【 执 行 】 按 钮 , 如 果 成 功 执 行 , 即 可 删 除【DB_TeachingMS】数据库的用户【Student_Sun】。【任务实施与拓展】USE DB_TeachingMSGODROP USER Student_SunGO-江阴职业技术学院计算机系江阴职业技术学院计算机系-2021-11-26M

37、icrosoft SQL Server 200843任务8-2创建与登录名同名的数据库用户 2.启用和禁用Guest用户 可以通过下述T-SQL语句来启用和禁用【DB_TeachingMS】数据库中的guest用户:【任务实施与拓展】【 任务拓展任务拓展 2】-启用GUEST 用户-禁用GUEST 用户USE DB_TeachingMSUSE DB_TeachingMSGOGOGRANT CONNECT TO GUESTDENY CONNECT TO GUESTGOGO-江阴职业技术学院计算机系江阴职业技术学院计算机系-2021-11-26Microsoft SQL Server 200844

38、任务 8-3 任务8-3 创建SQL SERVER验证模式登录名-江阴职业技术学院计算机系江阴职业技术学院计算机系-2021-11-26Microsoft SQL Server 200845 【任务描述】 第3项目小组让周丽同学为“教学管理系统”数据库的两个学生分别用向导方式和Transact-SQL方式创建名为“Student_Sun”和“Student_Li”的SQL Server身份验证模式的登录名,并为上述两个登录名创建同名的数据库用户名。【任务描述与分析】任务8-3 创建SQL SERVER验证模式登录名-江阴职业技术学院计算机系江阴职业技术学院计算机系-2021-11-26Micr

39、osoft SQL Server 200846任务8-3 创建SQL SERVER验证模式登录名 (1)在SSMS的【对象资源管理器】中,右击【安全性】-【登录名】选项,在弹出的快捷菜单中单击【新建登录名】选项,单击【确定】按钮,弹出【登录名-新建】对话框。在【登录名】栏内输入“Student_Sun”,同时选择“SQL Server身份验证”模式。 (2)在【登录名-新建】对话框的【密码】和【确认密码】框内输入密码“PStudent_Sun”,将【用户在下次登录时必须更改密码】栏的勾选去掉。同时,【默认数据库】栏内选择【DB_TeachingMS】数据库。如图8-18所示。【任务实施与拓展】

40、-江阴职业技术学院计算机系江阴职业技术学院计算机系-2021-11-26Microsoft SQL Server 200847任务8-3 创建SQL SERVER验证模式登录名【任务实施与拓展】-江阴职业技术学院计算机系江阴职业技术学院计算机系-2021-11-26Microsoft SQL Server 200848任务8-3 创建SQL SERVER验证模式登录名 (3)单击【登录名-新建】对话框左边【选择页】中的【用户映射】项,在【映射到此登录名的用户】窗格中勾选【DB_TeachingMS】数据库,如图8-19所示。【任务实施与拓展】-江阴职业技术学院计算机系江阴职业技术学院计算机系-

41、2021-11-26Microsoft SQL Server 200849任务8-3 创建SQL SERVER验证模式登录名 (4)单击【登录名-新建】对话框中的【确定】按钮,即可创建名为“Student_Sun”的SQL Server身份验证模式的登录名。同时,通过图中的“用户映射”为【Student_Sun】登录名在【DB_TeachingMS】数据库中创建了一个同名用户【Student_Sun】。 (5)在SSMS的【资源管理器】中,展开【安全性】-【登录名】节点,即可发现新创建的【Student_Sun】登录名,如图8-20所示。 (6)在SSMS的【资源管理器】中,展开数据库【DB_

42、TeachingMS】-【安全性】-【用户】节点,即可发现新创建的【Student_Sun】用户。【任务实施与拓展】-江阴职业技术学院计算机系江阴职业技术学院计算机系-2021-11-26Microsoft SQL Server 200850任务8-3 创建SQL SERVER验证模式登录名【任务实施与拓展】-江阴职业技术学院计算机系江阴职业技术学院计算机系-2021-11-26Microsoft SQL Server 200851任务8-3 创建SQL SERVER验证模式登录名 2.用T-SQL方式创建登录名及同名数据库用户Student_Li (1)在SSMS窗口中的【新建查询】输入如下

43、创建SQL Server验证模式的登录名【Student_Li】的T-SQL语句。【任务实施与拓展】USE masterGOCREATE LOGIN Student_LiWITHPASSWORD=PStudent_Li, DEFAULT_DATABASE=DB_TeachingMSGOUSE DB_TeachingMSGOCREATE USER Student_Li FOR LOGIN Student_LiGO-江阴职业技术学院计算机系江阴职业技术学院计算机系-2021-11-26Microsoft SQL Server 200852(2)单击【执行】按钮执行语句,如果成功执行,在结果窗格中同

44、样显示“命令已成功完成”提示消息。(3)在SSMS的【资源管理器】中,展开【安全性】-【登录名】节点,即可发现新创建的【Student_Li】登录名。展开数据库【DB_TeachingMS】-【安全性】-【用户】节点,可发现新创建的【Student_Li】用户。任务8-3 创建SQL SERVER验证模式登录名【任务实施与拓展】-江阴职业技术学院计算机系江阴职业技术学院计算机系-2021-11-26Microsoft SQL Server 200853任务8-3 创建SQL SERVER验证模式登录名 切换用户:单击左边连接,换用户登陆,下方显示当前查询窗口用户,授权和撤销权限,观察变化。-江

45、阴职业技术学院计算机系江阴职业技术学院计算机系-2021-11-26Microsoft SQL Server 200854任务8-3 创建SQL SERVER验证模式登录名 向导方式向导方式 (1)以默认的Windows登录名或系统登录名sa,登录SQL Server。 (2)在SSMS的【资源管理器】中的【安全性】-【登录名】-【JYPC-PYHTeacher_Yao】登录名上右击,单击弹出快捷菜单中的【删除】命令,打开【删除对象】对话框。 (3)单击【删除对象】对话框中的【确定】按钮,即可删除【Teacher_Yao】登录名。【任务实施与拓展】【 任务拓展任务拓展 1】删除不需要的用户。-

46、江阴职业技术学院计算机系江阴职业技术学院计算机系-2021-11-26Microsoft SQL Server 200855任务8-3 创建SQL SERVER验证模式登录名T-SQL方式方式(1)以默认的Windows登录名或系统登录名sa,登录SQL Server。(2)在SSMS中单击【新建查询】按钮,在查询分析器中输入下述T-SQL语句。示,打开【删除对象】对话框。 (3)在查询分析器中输入相应SQL代码。【任务实施与拓展】【 任务拓展任务拓展 1】删除不需要的用户。USE DB_TeachingMSGODROP LOGIN JYPC-PYHTeacher_YaoGO-江阴职业技术学院

47、计算机系江阴职业技术学院计算机系-2021-11-26Microsoft SQL Server 200856任务8-3 创建SQL SERVER验证模式登录名 删除注意事项:删除注意事项: 不能从数据库中删除拥有架构或安全对象的用户。不能从数据库中删除拥有架构或安全对象的用户。必须先删除或转移安全对象的所有权,才能删除拥有这些安全对象的数据库用户。 不能删除不能删除 GUEST 用户用户,但可在除 master 或 temp 之外的任何数据库中执行 REVOKE CONNECT FROM GUEST 来撤消它的 CONNECT 权限,从而禁用 GUEST用户。而执行GRANT CONNECT

48、TO GUEST 可以授予CONNECT权限。 不能删除正在使用的登录名不能删除正在使用的登录名,也不能删除拥有任何安不能删除拥有任何安全对象、服务器级别对象或全对象、服务器级别对象或 SQL 代理作业的登录名代理作业的登录名。要断开登录用户后方可以删除。 可以删除数据库用户映射到的登录名,但是这会创建孤立用户。【任务实施与拓展】-江阴职业技术学院计算机系江阴职业技术学院计算机系-2021-11-26Microsoft SQL Server 200857任务任务8-4任务8-4创建学生评教架构及相应数据对象-江阴职业技术学院计算机系江阴职业技术学院计算机系-2021-11-26Microsof

49、t SQL Server 200858任务任务8-4 创建“教学管理系统”架构 【任务描述】 用T-SQL语句为数据库服务器创建三个SQL Server登录用户名【LoginAdmin】、【LoginTeacher】和【LoginStudent】,并在【DB_TeachingMS】数据库中创建三个对应的数据库用户名:【DB_Admin】、【CC_Teacher】和【CC_Student】。然后创建【DB_Admin】用户拥有的名为【CC_Evaluation】的架构。在创建此架构的同时,创建一个评教表【TB_Evalation】,并向【CC_Teacher】用户授予SELECT权限,向【CC_

50、Student】用户授予SELECT、INSERT、UPDATE权限 。 【任务描述与分析】-江阴职业技术学院计算机系江阴职业技术学院计算机系-2021-11-26Microsoft SQL Server 200859任务任务8-4 创建“教学管理系统”架构 8-4-1 架构架构 SQL Server中的架构是一种新的命名规则,是形成单个命名空间的数据库对象的集合,其中每个元素的名称都是唯一的。例如,为了避免名称冲突,同一架构中不能有两个同名的表,两个表只有在位于不同的架构中时才可以同名。 架构是指包含表、视图、过程、函数等的容器,是一个命名空间。它位于数据库内部,而数据库位于服务器内部。这些

51、实体就像嵌套框放置在一起。服务器是最外面的框,而架构是最里面的框。架构包含下面列出的所有安全对象,但是它不包含其他框。【相关知识与技能】-江阴职业技术学院计算机系江阴职业技术学院计算机系-2021-11-26Microsoft SQL Server 200860任务任务8-4 创建“教学管理系统”架构 架构中的每个安全对象都必须有唯一的名称。架构中安全对象的完全指定名称包括此安全对象所在的架构的名称。因此,架构也是命名空间。现在,SQL Server中一个完整的、符合要求的对象名由用小数点隔开的四个部分构成,就像下面这样:server. database. schema. database-o

52、bject,这个命名规则表示只有第四个元素是强制要求必须有的。 架构不再等效于数据库用户;现在,每个架构都是独立于创建它的数据库用户存在的不同命名空间。也就是说,架构只是对象的容器。任何用户都可以拥有架构,并且架构所有权可以转移。用户与架构分离体现在下面四个方面:【相关知识与技能】-江阴职业技术学院计算机系江阴职业技术学院计算机系-2021-11-26Microsoft SQL Server 200861任务任务8-4 创建“教学管理系统”架构 架构的所有权和架构范围内的安全对象可以转移。 对象可以在架构之间移动。 单个架构可以包含由多个数据库用户拥有的对象。 多个数据库用户可以共享单个默认架

53、构。 SQL Server中的缺省架构主要用于确定没有使用完全限定名的对象的命名,它指定了服务器确定对象的名称时所查找的第一个架构。 从SQL Server 2008开始,每个用户都拥有一个默认架构。可以使用CREATE USER或ALTER USER的DEFAULT_SCHEMA选项设置和更改默认架构。如果未定义DEFAULT_SCHEMA,则数据库用户将使用dbo作为默认架构。【相关知识与技能】-江阴职业技术学院计算机系江阴职业技术学院计算机系-2021-11-26Microsoft SQL Server 200862任务任务8-4 创建“教学管理系统”架构【子任务【子任务1 1】创建】创

54、建CC_EvaluationCC_Evaluation架构架构 1)在SSMS窗口中单击【新建查询】按钮,打开查询输入窗口。 (2)在【查询窗口】,并输入如下创建数据库用户的T-SQL语句。【任务实施与拓展】-创建三个登录名USE masterGOCREATE LOGIN LoginAdminWITH PASSWORD=Pass_TeachingMS, DEFAULT_DATABASE=DB_TeachingMSCREATE LOGIN LoginTeacherWITH PASSWORD=Pass_TeachingMS, DEFAULT_DATABASE=DB_TeachingMS-江阴职业技

55、术学院计算机系江阴职业技术学院计算机系-2021-11-26Microsoft SQL Server 200863任务任务8-4 创建“教学管理系统”架构【任务实施与拓展】CREATE LOGIN LoginStudentWITH PASSWORD=Pass_TeachingMS, DEFAULT_DATABASE=DB_TeachingMS-创建与登录名关联的三个数据库用户USE DB_TeachingMSGOCREATE USER DB_Admin FOR LOGIN LoginAdminCREATE USER CC_Teacher FOR LOGIN LoginTeacherCREATE

56、 USER CC_Student FOR LOGIN LoginStudent GO-江阴职业技术学院计算机系江阴职业技术学院计算机系-2021-11-26Microsoft SQL Server 200864任务任务8-4 创建“教学管理系统”架构 (3)单击【执行】按钮执行语句,如果成功执行,在结果窗格中同样显示“命令已成功完成”提示消息。 (4)在【资源管理器】窗口中,展开【安全性】-【登录名】节点,即可发现新创建的三个登录名。展开数据库【DB_TeachingMS】-【安全性】-【用户】节点,可发现新创建的三个与相应登录名关联的数据库用户。 (5)然后新建一个【查询窗口】,并输入如下创

57、建架构的T-SQL语句。【任务实施与拓展】-江阴职业技术学院计算机系江阴职业技术学院计算机系-2021-11-26Microsoft SQL Server 200865任务任务8-4 创建“教学管理系统”架构【任务实施与拓展】USE DB_TeachingMSGOCREATE SCHEMA CC_Evaluation AUTHORIZATION DB_Admin CREATE TABLE TB_Evaluation /当前架构下的表(EvaluationID INT IDENTITY(1,1) PRIMARY KEY,CourseClassID CHAR(10) NOT NULL,StuID

58、CHAR(8) NOT NULL,EScore REAL NOT NULL)GRANT SELECT TO CC_Teacher /不指定表指所有表GRANT SELECT,INSERT,UPDATE TO CC_StudentGO-江阴职业技术学院计算机系江阴职业技术学院计算机系-2021-11-26Microsoft SQL Server 200866任务任务8-4 创建“教学管理系统”架构【任务实施与拓展】执行新架构中表的查询。SELECT * FROM Sch_Teacher.Tb_Class-江阴职业技术学院计算机系江阴职业技术学院计算机系-2021-11-26Microsoft S

59、QL Server 200867任务任务8-4 创建“教学管理系统”架构 【子任务2】删除架构,必须先删除架构中的表对象。 SSMS中操作为:资源管理器,单击“表”,选择Sch_Teacher.Tb_Teacher, Sch_Teacher.Tb_Class表,右键“删除”。 使用SQL语句进行,注意必须写明名架构名称,否则会误删DBO架构中同名表。 DROP TABLE Sch_Teacher.Tb_Teacher,Sch_Teacher.Tb_Class DROP SCHEMA Sch_Teacher GO 【任务实施与拓展】-江阴职业技术学院计算机系江阴职业技术学院计算机系-2021-1

60、1-26Microsoft SQL Server 200868任务任务8-4 创建“教学管理系统”架构 创建由用户Student_Sun拥有的、包含表MyCourse的Sproc架构。此语句向Students授予SELECT权限,而对Students_888拒绝授予 SELECT 权限。请注意,Sproc和MyCourse在一个语句中创建。 USE DB_TeachingMSCREATE SCHEMA Sproc AUTHORIZATION Student_Sun CREATE TABLE MyCourse (CId INT, CName CHAR(32) GRANT SELECT TO St

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论