SQL-Server-2012数据库开发教程第11章.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《SQL-Server-2012数据库开发教程第11章.ppt》由会员分享,可在线阅读,更多相关《SQL-Server-2012数据库开发教程第11章.ppt(99页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、SQLServer2012SQLServer2012数据库开发教程数据库开发教程数据库开发教程数据库开发教程(第(第(第(第33版)版)版)版)授课教师:授课教师:职务:职务:第第11章章SQLServer安全管理安全管理课程描述课程描述课程描述课程描述对于任何数据库系统而言,保证对于任何数据库系统而言,保证对于任何数据库系统而言,保证对于任何数据库系统而言,保证数据的安全性都是最重要的问题数据的安全性都是最重要的问题数据的安全性都是最重要的问题数据的安全性都是最重要的问题之一。安全性包括什么样的用户之一。安全性包括什么样的用户之一。安全性包括什么样的用户之一。安全性包括什么样的用户能够登录到
2、能够登录到能够登录到能够登录到SQL ServerSQL ServerSQL ServerSQL Server,以及用,以及用,以及用,以及用户登录后所能进行的操作。维护户登录后所能进行的操作。维护户登录后所能进行的操作。维护户登录后所能进行的操作。维护数据库的安全是数据库管理员的数据库的安全是数据库管理员的数据库的安全是数据库管理员的数据库的安全是数据库管理员的重要职责。在很多小规模的数据重要职责。在很多小规模的数据重要职责。在很多小规模的数据重要职责。在很多小规模的数据库环境中,管理员都使用库环境中,管理员都使用库环境中,管理员都使用库环境中,管理员都使用sasasasa用户用户用户用户登
3、录管理数据库,这并不是好的登录管理数据库,这并不是好的登录管理数据库,这并不是好的登录管理数据库,这并不是好的习惯。特别是在管理员比较多的习惯。特别是在管理员比较多的习惯。特别是在管理员比较多的习惯。特别是在管理员比较多的大型数据库环境中,必须明确每大型数据库环境中,必须明确每大型数据库环境中,必须明确每大型数据库环境中,必须明确每个管理员的职责,为每个管理员个管理员的职责,为每个管理员个管理员的职责,为每个管理员个管理员的职责,为每个管理员分配不同的用户,并定义其权限。分配不同的用户,并定义其权限。分配不同的用户,并定义其权限。分配不同的用户,并定义其权限。这样一方面可以使大家各司其职,这样
4、一方面可以使大家各司其职,这样一方面可以使大家各司其职,这样一方面可以使大家各司其职,不会出现一件事件所有人都管理,不会出现一件事件所有人都管理,不会出现一件事件所有人都管理,不会出现一件事件所有人都管理,可又谁都不管的情况;另一方面,可又谁都不管的情况;另一方面,可又谁都不管的情况;另一方面,可又谁都不管的情况;另一方面,当出现问题时也可以明确是谁的当出现问题时也可以明确是谁的当出现问题时也可以明确是谁的当出现问题时也可以明确是谁的责任。责任。责任。责任。本章知识点本章知识点11.1 11.1 安全管理概述安全管理概述 11.2 11.2 登录登录 11.3 11.3 数据库用户数据库用户
5、11.4 11.4 角色角色 11.5 11.5 权限管理权限管理 11.1安全管理概述安全管理概述pSQL ServerSQL Server的安全管理模型中包括的安全管理模型中包括SQL ServerSQL Server登录、数据库用登录、数据库用户、权限和角色户、权限和角色4 4个主要方面,具体如下。个主要方面,具体如下。p(1 1)SQL ServerSQL Server登录登录:要想连接到:要想连接到SQL ServerSQL Server服务器实例,必服务器实例,必须拥有相应的登录账户和密码。须拥有相应的登录账户和密码。SQL ServerSQL Server的身份认证系统验的身份认
6、证系统验证用户是否拥有有效的登录账户和密码,从而决定是否允许该证用户是否拥有有效的登录账户和密码,从而决定是否允许该用户连接到指定的用户连接到指定的SQL ServerSQL Server服务器实例。服务器实例。p(2 2)数据库用户数据库用户:通过身份认证后,用户可以连接到:通过身份认证后,用户可以连接到SQL SQL ServerServer服务器实例。但是,这并不意味着该用户可以访问到指服务器实例。但是,这并不意味着该用户可以访问到指定服务器上的所有数据库。在每个定服务器上的所有数据库。在每个SQL ServerSQL Server数据库中,都存数据库中,都存在一组在一组SQL Serv
7、erSQL Server用户账户。登录账户要访问指定数据库,就用户账户。登录账户要访问指定数据库,就要将自身映射到数据库的一个用户账户上,从而获得访问数据要将自身映射到数据库的一个用户账户上,从而获得访问数据库的权限。一个登录账户可以对应多个用户账户。库的权限。一个登录账户可以对应多个用户账户。p(3 3)权限权限:权限规定了用户在指定数据库中所能进行的操作。:权限规定了用户在指定数据库中所能进行的操作。p(4 4)角色角色:类似于:类似于WindowsWindows的用户组,角色可以对用户进行分的用户组,角色可以对用户进行分组管理。可以对角色赋予数据库访问权限,此权限将应用于角组管理。可以对
8、角色赋予数据库访问权限,此权限将应用于角色中的每一个用户。色中的每一个用户。11.2登录登录p登录指用户连接到指定登录指用户连接到指定SQL ServerSQL Server数数据库实例的过程。在此期间,系统要据库实例的过程。在此期间,系统要对该用户进行身份验证。对该用户进行身份验证。p只有拥有正确的登录账户和密码,才只有拥有正确的登录账户和密码,才能连接到指定的数据库实例。能连接到指定的数据库实例。11.2.1 11.2.1 身份验证模式身份验证模式11.2.2 11.2.2 创建登录名创建登录名11.2.3 11.2.3 修改和删除登录名修改和删除登录名 11.2.1身份验证模式身份验证模
9、式p用户要访问用户要访问SQL SQL ServerServer中的数中的数据,首先需要据,首先需要登录到登录到SQL SQL ServerServer数据库数据库实例。登录时实例。登录时要从系统中获要从系统中获得授权,并通得授权,并通过系统的身份过系统的身份验证。验证。pSQL ServerSQL Server的的身份验证模式身份验证模式如图如图11-111-1所示。所示。1Windows身份验证模式身份验证模式p当用户通过当用户通过WindowsWindows用户账户进行连接时,用户账户进行连接时,SQL SQL ServerServer通过回叫通过回叫WindowsWindows操作系统
10、以获得信息,操作系统以获得信息,重新验证账户名和密码。重新验证账户名和密码。pSQL ServerSQL Server通过使用网络用户的安全特性控制通过使用网络用户的安全特性控制登录访问,以实现与登录访问,以实现与WindowsWindows的登录安全集成。的登录安全集成。用户的网络安全特性在网络登录时建立,并通用户的网络安全特性在网络登录时建立,并通过过WindowsWindows域控制器进行验证。当网络用户尝试域控制器进行验证。当网络用户尝试连接时,连接时,SQL ServerSQL Server使用基于使用基于WindowsWindows的功能确的功能确定经过验证的网络用户名。定经过验证
11、的网络用户名。2SQLServer身份验证身份验证p在在SQL Server SQL Server Management Management StudioStudio中,用鼠中,用鼠标右击数据库服标右击数据库服务器实例名,在务器实例名,在弹出的快捷菜单弹出的快捷菜单中选择中选择“属性属性”命令,打开命令,打开“属属性性”对话框,选对话框,选择择“安全性安全性”页,页,即可设置即可设置SQL SQL ServerServer的身份认的身份认证模式,如图证模式,如图11-11-2 2所示。所示。11.2.2创建登录名创建登录名p1 1在在SQL Server Management StudioS
12、QL Server Management Studio中创建登录名中创建登录名p在在SQL Server Management StudioSQL Server Management Studio中,选中中,选中“安全性安全性”/“登录名登录名”项,可以查看项,可以查看SQL ServerSQL Server数据库中当前数据库中当前的登录名信息,如图的登录名信息,如图11-311-3所示。所示。“新建登录新建登录”对话框对话框p右键单击右键单击“登登录名录名”,在弹,在弹出菜单中选择出菜单中选择“新建登录名新建登录名”命令,打开命令,打开“新建登录新建登录”对话框,如图对话框,如图11-411
13、-4所示。所示。2使用使用SQL语句创建登录名语句创建登录名p可以使用可以使用CREATE LOGINCREATE LOGIN语句创建登录名,语法如下:语句创建登录名,语法如下:CREATE LOGIN login_name WITH|CREATE LOGIN login_name WITH|FROM FROM p其中其中login_namelogin_name是新建的登录名,是新建的登录名,为登为登录选项设置,录选项设置,为新建登录名的来源(例如为新建登录名的来源(例如WindowsWindows登录、证书或非对称密钥等)。登录、证书或非对称密钥等)。p的语法如下:的语法如下::=:=PAS
14、SWORD=password HASHED MUST_CHANGE PASSWORD=password HASHED MUST_CHANGE ,.,.option_list2poption_list2option_list2指定更多选项设置,语法如下:指定更多选项设置,语法如下::=:=SID=sid SID=sid|DEFAULT_DATABASE=database|DEFAULT_DATABASE=database|DEFAULT_LANGUAGE=language|DEFAULT_LANGUAGE=language|CHECK_EXPIRATION=ON|OFF|CHECK_EXPIRA
15、TION=ON|OFF|CHECK_POLICY=ON|OFF|CHECK_POLICY=ON|OFF CREDENTIAL=credential_name CREDENTIAL=credential_name【例例11-1】p创建登录名创建登录名leelee,采用,采用SQL ServerSQL Server验证方验证方式,密码为式,密码为Abc12345Abc12345,代码如下:,代码如下:CREATE LOGIN lee WITH PASSWORD=CREATE LOGIN lee WITH PASSWORD=Abc12345 MUST_CHANGE,Abc12345 MUST_CHA
16、NGE,CHECK_EXPIRATION=ONCHECK_EXPIRATION=ONGOGOCREATELOGIN语句中语句中子句的语法子句的语法结构结构:=:=WINDOWS WITH WINDOWS WITH ,.,.|CERTIFICATE certname|CERTIFICATE certname|ASYMMETRIC KEY asym_key_name|ASYMMETRIC KEY asym_key_namep指定指定WindowsWindows登录名的登录名的更多选项,语法如下:更多选项,语法如下::=:=DEFAULT_DATABASE=database DEFAULT_DATA
17、BASE=database|DEFAULT_LANGUAGE=language|DEFAULT_LANGUAGE=language【例例11-2】p从从WidnowsWidnows域中创建登录名的代码如下:域中创建登录名的代码如下:CREATE LOGIN DBServerdbuser FROM WINDOWS;CREATE LOGIN DBServerdbuser FROM WINDOWS;GOGOp执行时需将执行时需将DBServerdbuserDBServerdbuser替换为已经替换为已经存在的存在的WindowsWindows帐户。帐户。3使用系统存储过程创建登录账户使用系统存储过程
18、创建登录账户p(1 1)使用系统存储过程创建)使用系统存储过程创建WindowsWindows身份身份验证模式登录账户验证模式登录账户p使用使用sp_grantloginsp_grantlogin存储过程可以创建新存储过程可以创建新的的WindowsWindows身份验证模式登录账户,基本身份验证模式登录账户,基本语法如下:语法如下:sp_grantlogin sp_grantlogin 登录名称登录名称【例例11-3】p使用使用sp_grantloginsp_grantlogin存储过程将用户存储过程将用户LEEpublicLEEpublic映射到映射到SQL ServerSQL Serve
19、r登录账户。登录账户。p具体语句如下:具体语句如下:sp_grantlogin LEEpublicsp_grantlogin LEEpublicp执行结果为:执行结果为:已向已向 LEEpublic LEEpublic 授予登录访问权。授予登录访问权。(2)使用系统存储过程创建)使用系统存储过程创建SQLServer身份身份验证模式的登录账户验证模式的登录账户p使用使用sp_addloginsp_addlogin存储过程可以创建新的登录账存储过程可以创建新的登录账户,基本语法如下:户,基本语法如下:sp_addlogin sp_addlogin 登录名称登录名称,登录密码登录密码,默默认数据库
20、认数据库,默认语言默认语言pSQL Server SQL Server 登录名称和密码可以包含登录名称和密码可以包含1 1128128个个字符,包括任何字母、符号和数字。但是,登字符,包括任何字母、符号和数字。但是,登录名不能出现如下情况。录名不能出现如下情况。p 含有反斜线(含有反斜线()。)。p 是保留的登录名称,例如是保留的登录名称,例如sasa或或publicpublic,或者,或者已经存在。已经存在。p 为为NULLNULL,或为空字符串,或为空字符串()()。【例例11-4】p使用使用sp_addloginsp_addlogin存储过程创建存储过程创建SQL SQL ServerS
21、erver登录账户登录账户leelee,密码为,密码为111111111111,默,默认数据库为认数据库为HrSystemHrSystem。p具体语句如下:具体语句如下:sp_addlogin lee,111111,sp_addlogin lee,111111,HrSystemHrSystemp执行结果为:执行结果为:已创建新登录。已创建新登录。11.2.3修改和删除登录名修改和删除登录名p1 1使用使用Management StudioManagement Studio修改账户修改账户p2 2使用使用Management StudioManagement Studio删除账户删除账户p3 3
22、使用系统存储过程修改和删除账户使用系统存储过程修改和删除账户1使用使用ManagementStudio修改账户修改账户p(1 1)修改)修改WindowsWindows身份验证模式账户身份验证模式账户p(2 2)修改)修改SQL ServerSQL Server身份验证模式账户身份验证模式账户(1)修改)修改Windows身份验证模式账户身份验证模式账户p如果是如果是WindowsWindows身份验证模式身份验证模式账户,则可以账户,则可以修改该账户的修改该账户的安全性访问方安全性访问方式、默认数据式、默认数据库和默认语言库和默认语言等,如图等,如图11-511-5所示。所示。(2)修改)修
23、改SQLServer身份验证模式账户身份验证模式账户 (如果是如果是SQL SQL ServerServer身份身份验证模式账验证模式账户,则可以户,则可以修改该账户修改该账户的密码、默的密码、默认数据库和认数据库和默认语言等,默认语言等,如图如图11-611-6所所示。示。2使用使用ManagementStudio删除账户删除账户p在在Management StudioManagement Studio中,用鼠标右键中,用鼠标右键单击单击SQL ServerSQL Server账户,在弹出的快捷菜账户,在弹出的快捷菜单中选择单中选择“删除删除”命令,在弹出的确认命令,在弹出的确认对话框中单击
24、对话框中单击“是是”按钮,可以删除该按钮,可以删除该账户。账户。3使用系统存储过程修改和删除账户使用系统存储过程修改和删除账户(1 1)sp_denyloginsp_denylogin存储过程存储过程sp_denyloginsp_denylogin存储过程用于阻止存储过程用于阻止WindowsWindows用户或用户组连用户或用户组连接到接到SQL ServerSQL Server实例,它的基本语法如下:实例,它的基本语法如下:sp_denylogin sp_denylogin 用户或用户组名用户或用户组名 sp_denyloginsp_denylogin只能和只能和WindowsWindow
25、s账户一起使用,账户一起使用,“用户或用用户或用户组名户组名”格式为格式为“域名域名 用户名用户名”。sp_denyloginsp_denylogin无法用无法用于通过于通过sp_addloginsp_addlogin添加的添加的SQL ServerSQL Server登录。登录。sp_denyloginsp_denylogin和和sp_grantloginsp_grantlogin是对应的两个存储过程,是对应的两个存储过程,它们可以互相反转对方的效果,允许和拒绝用户访问它们可以互相反转对方的效果,允许和拒绝用户访问SQL SQL ServerServer。【例例11-5】p使用使用sp_de
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SQL Server 2012 数据库 开发 教程 11
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内