第4章 数据库保护(精品).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)
《第4章 数据库保护(精品).ppt》由会员分享,可在线阅读,更多相关《第4章 数据库保护(精品).ppt(56页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第4章章 数据库保护数据库保护 4.1 SQL Server 2005的的验证模式验证模式4.2 登登录管理录管理4.3 用户用户管理管理4.4 角色管理角色管理4.5 权限管理权限管理4.6 数据库备份数据库备份4.7 数据库恢复数据库恢复4.1SQLServer2005的验证模式4.1.1 Windows 身份验证模式4.1.2 SQL Server 身体验证模式4.1.3 设置验证模式4.1.4 SQL Server 系统登录验证过程24.1.1身份验证模式Windows身份验证模式是指要登录到SQLServer系统的用户身份由Windows系统来进行验证。在Windows登录验证模式
2、下,SQLServer回叫Windows以获得相应的登录信息,并在sysxlogins表中查找该帐户,以确定该帐户是否有权登录。在这种方式下,用户不必提供登录名或密码让SQLserver验证。SQLServer身份验证模式是指用户登录SQLServer系统时,其身份验证由Windows和SQLServer共同进行。所以SQLServer身份验证模式也称混合验证模式。34.1.3设置验证模式设置验证模式的工作只能由系统管理员来完成。使用SQLServerManagementStudio时,设置或改变验证模式的步骤如下:1)打开SQL Server Management Studio。2)在“已注
3、册的服务器”窗口中右击要设置验证模式的服务器,然后在系统弹出的快捷菜单上选择“属性”,系统将弹出如下图7-1所示的“编辑服务器注册属性”窗口。3)服务器名称:按格式选择要注册的服务器实例。身份验证:在连接到 SQL Server 实例时,可以使用两种身份验证模式。l注意:请尽可能使用 Windows 身份验证。4)设置完成后,单击“测试”以确定设置是否正确。5)单击“确认”,关闭对话窗口。44.2登录管理4.2.1系统管理员登录账户4.2.2用T-SQL语句创建、查看、删除SQLServer登录账户4.2.3用SQLServerManagementStudio创建、查看、删除SQLServer
4、登录账户本章首页本章首页本章首页本章首页54.2.1系统管理员登录账户SQLServer有两个默认的系统管理员登录帐户:sa和BUILTINAdministrators。这两个登录帐户具有SQLServer系统和所有数据库的全部权限。sa是一个特殊的登录名,它代表混合验证机制下SQLServer的系统管理员,sa始终关联dbo用户。BUILTINAdministrators是Windows系统的系统管理员组。具体地说,系统管理员负责下面的工作:创建登录名配置服务器创建、删除数据库无须考虑所有权和权限,可以操作各种数据库对象停止、启动服务器停止在服务器上运行的无效过程某些权限只能被系统管理员拥有
5、并且不能被授予其他用户。这些功能是管理存储空间,管理用户进程及改变数据库选项。64.2.2 使用使用T-SQL语言创建、查看、删除语言创建、查看、删除SQL Server登录帐户登录帐户 SQL Server登录帐户的创建登录帐户的创建使用系统存储过程sp_addlogin可以创建一个登录帐户。sp_addlogin存储过程的语法形式如下:sp_addlogin login,password,default_databaselogin:要被创建的登录帐户。它是唯一必须给定值的参数,而且必须是有效的SQLServer对象名。password:新登录帐户的密码。default_database:新
6、登录帐户访问的默认数据库。SQL Server登录帐户的查看登录帐户的查看sp_helplogins【例7-1】创建一个登录帐户为ABC,密码为123、使用的默认数据库为JWGL。EXECsp_addloginABC,123,jwgl EXECsp_addlogina1,111,jwglEXECsp_addlogina2,222,master7 登录帐户的删除登录帐户的删除删除一个登录帐户时,SQLServer必须确认这个登录帐户没有关联的用户存在于数据库系统中。如果存在用户和被删除的登录名关联,SQLServer将返回错误提示信息,指出数据库中哪个用户与被删除的登录帐户相关联。删除一个登录帐
7、户使用系统存储过程sp_droplogin。sp_droplogin存储过程的语法形式如下:sp_droploginloginlogin:要被删除的登录帐户。【例7-2】从SQLServer中将登录帐户ABC删除掉。EXECsp_droploginABC8 创建创建SQL Server登录帐户登录帐户用SQLServerManagementStudio创建SQLServer登录帐户的具体步骤如下:1)启动SQL Server SQL Server Management Studio。分别展开“服务器”、“安全性”、“登录名”。2)右击“登录名”,选择“新建登录名”项,进入“登录名-新建”窗口。
8、3)输入登录名,选择一种身份验证模式,如选择Windows验证模式,然后指定该帐户默认登录的数据库和默认语言(这里要注意,系统新建登录时把系统库master设为默认库,建议改成实际使用的数据库);如选择SQL Server验证模式,则需要输入登录帐户名称、密码及确认密码。点击“服务器角色”选项卡:可以查看或更改登录名在固定服务器角色中的成员身份;点击“用户映射”选项卡:以查看或修改 SQL 登录名到数据库用户的映射,并可选择其在该数据库中允许担任的数据库角色。4)单击“确定”按钮即可增加一个登录帐户。4.2.3用SQLServerManagementStudio创建、查看、删除SQLServe
9、r登录帐户9查看及删除登录帐户一个新的登录帐户增加后,可以在SQL Server Management Studio中查看其详细信息。查看一个帐户的步骤如下:1)启动SQL Server SQL Server Management Studio。分别展开“服务器”、“安全性”、“登录名”。2)右击该“登录名”下的某一登录帐户,在系统弹出的菜单上点击“属性”可进入“SQL Serve登录属性”窗口查看该登录帐户的信息;3)点击“删除”可以删除该登录帐户。104.3用户管理4.3.1数据库用户名和登录名的关系4.3.2用T-SQL语句创建、查看、删除数据库用户4.3.3使用SQLServerMan
10、agementStudio创建、查看、删除数据库用户114.3.1数据库用户名和登录名的关系登录名、数据库用户名是SQLServer中两个容易混淆的概念。登录名是访问SQLServer的通行证。每个登录名的定义存放在主人数据库的表sysxlogins中。登录名本身并不能让用户访问服务器中的数据库资源。要访问特定的数据库,还必须有数据库用户名。新的登录创建以后,才能创建用户,用户在特定的数据库内创建,必须和一个登录名相关联。用户的定义信息存放在与其相关的数据库的sysusers表中。这个表包含了该数据库的所有用户对象以及和它们相对应的登录名的标识。用户名没有密码和它相关联。大多数情况下,登录名和
11、用户名使用相同的名称。12在SQLServer中,登录帐户和数据库用户是SQLServer进行权限管理的两种不同的对象。一个登录帐户可以与服务器上的所有数据库进行关联,而数据库用户是一个登录帐户在某个数据库中的映射,也就是说一个登录帐户可以映射到不同的数据库,产生多个数据库用户,一个数据库用户只能映射到一个登录帐户。允许数据库为每个用户对象分配不同的权限,这一特点为在组内分配权限提供了最大的自由度。137.3.2用T-SQL语句创建、查看、删除数据库用户登录帐户成功创建后,怎样才能将登录帐户映射到数据库中的用户上呢?如果使用ManagementStudio创建登录帐户,可以省略这步操作。但要注
12、意,实际上它完成了两步不同的操作:第一步是创建登录帐户,第二步是将登录帐户映射为数据库中同名的用户。为一个登录帐户授权,最常使用的方法是创建一个新的数据库用户,然后将其与一个登录帐户对应起来。141.用用T-SQL语句创建数据库用户语句创建数据库用户使用系统存储过程sp_graWindowsdbaccess可以创建数据库用户。其具体的语法形式如下:sp_adduserlogin,name_in_db这个存储过程有两个参数,但只有第一个参数是必须的。Login:数据库用户所对应的登录名。name_in_db:为登录帐户登录在当前数据库中创建的用户名。注意:注意:只有sysadmin固定服务器角色
13、、db_accessadmin和db_owner固定数据库角色的成员才能执行sp_adduser;如果第二参数被省略,一个和登录名相同的用户名将被添加到数据库中,通常省略这个参数;这个存储过程只对当前的数据库进行操作,所以在执行存储过程前应该首先确认当前使用的数据库是要增加用户的数据库;要创建用户名的登录帐户必须在执行存储过程前已经存在。15【例7-3】在混合验证模式下,为数据库JWGL登录帐户”ABC”和“a1”和a2创建一个同名的数据库用户。Usebookshopgoexecsp_adduserABCexecsp_addusera1execsp_addusera22.用用T-SQL语句查看
14、数据库用户语句查看数据库用户在查询分析器中输入sp_helpuser,单击“执行”,可显示某个数据库中的有效用户。163.用用T-SQL语句删除数据库用户语句删除数据库用户当一个登录帐户不再需要访问一个数据库或对应的的登录帐户被删除时,需要将数据库内的用户名删除。用办理-SQL的sp_dropuser存储过程可以删除数据库用户。这个存储过程从数据库中将用户删除,即从sysusers表中删除用户名。但在用户定义事务内部不能执行存储过程sp_dropuser。sp_dropuser存储过程具体语法如下:sp_dropusername_in_db=name17在以上语法形式中:name:要删除的用户
15、名。名字可以是SQLServer的用户名或存在于当前数据库中的窗口Windows的用户名或组名。注意,sp_dropuser存储过程不能删除:公众角色、dbo、数据库中的固定角色主人和tempdb数据库中的客人用户帐户窗口Windows组中的窗口Windows用户【例7-4】使用命令sp_dropuser将数据库中的“ABC”删除掉。sp_dropuserABC184.3.3使用ManagementStudio创建、查看、删除数据库用户1.使用使用SQL Server Management Studio创建数据库创建数据库用户与查看用户与查看在SQLServer的SQLServerManage
16、mentStudio中用以下步骤完成同样的任务:1)启动SQLServerSQLServerManagementStudio。2)分别展开“服务器”、“数据库”、“bookshop”、“用户”,右边“摘要”窗口可以看到该数据库的现有用户。3)右击“用户”文件夹,选择“新建数据库用户”,弹出“数据库用户-新建”的窗口。4)输入要创建的数据库用户的名字,然后“登录名”对应的文本框中输入相对应的登录名,或点击“”在系统中选择相应的登录名。5)单击“确定”按钮,将新创建的数据库用户添加到数据库中。192.使用使用SQL Server Management Studio删除数据库用户删除数据库用户在SQ
17、LServerManagementStudio中用以下的步骤删除用户名:启动SQLServerManagementStudio。展开要操作的服务器及要删除用户所在的数据库。单击“用户”,右边显示该数据库所有的库用户。右击要删除的用户,在系统弹出的快捷菜单上选择“删除”来删除这个用户。204.4角色管理管理用户的任务是要确保用户能够访问到他们需要的数据但又不能获得超出他们权限范围的数据。SQLServer2000中,用户一般是放在组中工作的。也就是说,可以将在相同数据上具有相同权限的用户放入一个组中进行管理。SQLServer具有将用户分配到组中的能力,分配给组的权限适用于组中的每一个成员。使用
18、角色对用户进行分组管理有利于简化对用户的授权工作。在SQLServer2000中,组是通过角色来实现的,可以将角色理解为组。角色有两种:服务器角色和数据库角色。服务器角色是服务器级的一个对象,只能包含登录名。数据库角色是数据库级的一个对象,数据库角色只能包含数据库用户名而不能是登录名。7.4.1 固定服务器角色固定服务器角色7.4.2 数据库角色数据库角色217.4.1固定服务器角色1.固定服务器角色及功能固定服务器角色及功能安装完SQLServer2000后,系统自动创建了以下8个固定的服务器角色,具体名称及功能描述如下表。它在服务器级别上被定义,存在于数据库外面,它是不能被创建的。表表 固
19、定服务器角色及功能固定服务器角色及功能角色功能sysadmin能够执行任何任务securityadmin负责系统的安全管理,能够管理和审核服务器登录名serveradmin 能够配置服务器的设置setupadmin能够安装、复制processadmin能够管理SQLServer系统的进程diskadmin能够管理磁盘文件dbcreator 能够创建和修改数据库bulkadmin能够执行大容量数据的插入数据操作222.为登录帐户指定及收回服务器角色为登录帐户指定及收回服务器角色使用sp_addsrvrolemember存储过程或ManagementStudio可为一个登录帐户指定服务器角色。使用
20、系统存储过程为登录帐户指定及收回服务器角色、指定服务器角色的系统存储过程是sp_addsrvrolemember,具体语法如下:sp_addsrvrolemember login,rolelogin:是指登录名。role:是指服务器角色名。收回服务器角色的系统存储过程sp_dropsrvrolemember,参数含义同上。具体语法如下:sp_dropsrvrolememberlogin,role【例7-5】将登录名ABC加到sysadmin角色中。sp_addsrvrolememberABC,sysadmin23使用SQLServerManagementStudio为登录帐户指定及收回服务器角
21、色使用SQLServerManagementStudio为服务器角色增加成员的步骤如下:启动SQLServerManagementStudio,分别展开“服务器”、“安全性”、“服务器角色”。点击“安全性”节点下的“服务器角色”,右边窗格将显示系统的8个服务器角色。右击要添加登录到的服务器角色(如sysadmin),选择“属性”,系统将弹出“服务器角色属性”窗口。如要收回某登录帐户的服务器角色,只需选择该登录帐户,然后点击“删除”即可。如要为登录帐户指定服务器角色,单击“添加”按钮,出现“添加成员”窗口。在“添加成员”窗口中选择相应的用户并单击“确定”按钮将它们加入到组中。再次单击“确定”按钮
22、,退出“服务器角色属性”窗口。247.4.2数据库角色7.4.2 数据库角色数据库角色数据库角色分为固定数据库角色和自定义数据库角色。1.固定数据库角色及功能固定数据库角色及功能在安装完SQL Server后,系统将自动创建如表所示的10个固定的数据库角色。表 固定数据库角色及功能 角色 功能public维护默认的许可db_owner 数据库属主,在特定数据库内具有全部权限db_accessadmin 能够添加、删除数据库用户和角色db_securityadmin 可以管理全部权限、对象所有权、角色和角色成员资格db_ddladmin 能够添加、删除和修改数据库对象。db_backupoper
23、ator能够备份和恢复数据库。db_datareader 能够从任意表中读出数据。db_datawriter 能够对任意表插入、修改和删除数据。db_denydatareader 不允许从表中读数据。db_denydatawriter 不允许改变表中的数据。25public角色角色是一个特殊的数据库角色,数据库中的每位用户都是公众角色的成员,它负责维护数据库中用户的全部默认许可,不能将用户和组或角色指定公众角色。在使用Windows验证模式时,推荐使用SQLServerManagementStudio将窗口Windows组加入到指定的数据库中并为Windows组成员提供登录名和数据库用户名,在
24、这里,用户被定义成某种数据库角色。利用这种方法,数据库管理员可以减轻创建组时的工作量。要浏览数据库固定数据库角色,可执行系统存储过程:实行sp_helpfixesrole有如下几点需要注意:有如下几点需要注意:数据库角色在数据库级别上被定义,存在于数据库之内。数据库角色存放在每个数据库sysusers表中固定数据库角色不能被删除、修改、创建固定数据库角色可以指定给其它登录帐户262.自定义数据库角色自定义数据库角色 创建自定义数据库角色创建自定义数据库角色自定义数据库角色有两种:标准角色和应用程序角色。其中应用程序角色需要设置密码。标准角色型的自定义数据库角色将已经存在的数据库用户作为它的成员
25、。创建自定义数据库角色和许多其他任务一样,在SQLServer中有两种方法完成增加角色的工作。可以使用办理-SQL语句或ManagementStudio。使用系统存储过程创建自定义数据库角色使用系统存储过程创建自定义数据库角色创建自定义数据库角色使用的是系统存储过程sp_addrole,它只有一个参数,即要增加的角色名。这个角色名必须遵照SQLServer的命名规则,而且不能和任何用户名相同。具体语法如下:sp_addrole role,ownerrole:是指新增的数据库角色。owner:是新增数据库角色的属主。【例7-6】增加一个叫AAA的自定义数据库角色。sp_addroleAAA,db
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第4章 数据库保护精品 数据库 保护 精品
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内