数据库安全性控制PPT课件

上传人:汽*** 文档编号:569496975 上传时间:2024-07-30 格式:PPT 页数:43 大小:902.50KB
返回 下载 相关 举报
数据库安全性控制PPT课件_第1页
第1页 / 共43页
数据库安全性控制PPT课件_第2页
第2页 / 共43页
数据库安全性控制PPT课件_第3页
第3页 / 共43页
数据库安全性控制PPT课件_第4页
第4页 / 共43页
数据库安全性控制PPT课件_第5页
第5页 / 共43页
点击查看更多>>
资源描述

《数据库安全性控制PPT课件》由会员分享,可在线阅读,更多相关《数据库安全性控制PPT课件(43页珍藏版)》请在金锄头文库上搜索。

1、数据库应用教程数据库应用教程n8.2.1 SQL Server的安全机制的安全机制n8.2.2 服务器登录帐号的管理服务器登录帐号的管理n8.2.3 数据库用户管理数据库用户管理 8.2 数据库的安全性控制数据库的安全性控制n8.2.4 管理权限管理权限 8.2 数据库的安全性管理数据库的安全性管理 一个机构建立数据库的目的是为了数据库中的数据能一个机构建立数据库的目的是为了数据库中的数据能够被机构中的用户共享访问,但数据库中的数据不能被破够被机构中的用户共享访问,但数据库中的数据不能被破坏,重要数据(如银行账号的密码)也只能由具有特殊权坏,重要数据(如银行账号的密码)也只能由具有特殊权力的人

2、员访问,因此数据库系统必须能够预防来自机构内力的人员访问,因此数据库系统必须能够预防来自机构内部或外部的人对数据的故意破坏或窃取。可见,安全性是部或外部的人对数据的故意破坏或窃取。可见,安全性是数据库设计的重要组成部分。数据库设计的重要组成部分。 所谓数据库的安全性所谓数据库的安全性:是指保护数据以防止因不合法:是指保护数据以防止因不合法的使用而造成数据的泄密和破坏。为保证数据库的安全性,的使用而造成数据的泄密和破坏。为保证数据库的安全性,需要采取一定的安全保护措施。需要采取一定的安全保护措施。SQL Server的安全模型的安全模型增删改查增删改查增删改查增删改查增删改查增删改查数据库用户数

3、据库用户数据库用户登录帐号登录帐号SQLserver三层安全管理数据表数据表数据表数据表1 1 1 1数据表数据表数据表数据表2 2DB1数据表数据表数据表数据表1 1 1 1数据表数据表数据表数据表2 2DB2数据表数据表数据表数据表1 1 1 1数据表数据表数据表数据表2 2DB38.2.1 SQL Server的安全机制的安全机制 SQL Server 2000的安全机制包括身份验证和权限验证的安全机制包括身份验证和权限验证两个方面两个方面 。 1SQL Server的身份验证模式的身份验证模式 用户要想访问用户要想访问SQL Server数据库中的数据,必须以合法身份登录到数据库中的数

4、据,必须以合法身份登录到SQL Server服务器上,服务器上,SQL Server或者操作系统对用户的身份进行验证,这一阶段或者操作系统对用户的身份进行验证,这一阶段称为身份验证阶段(称为身份验证阶段(Authentication)。)。SQL Server身份验证有两种模式:身份验证有两种模式:Windows身份验证模式和混合身份验证模式。身份验证模式和混合身份验证模式。 在在企业管理器,展开企业管理器,展开“服务器组服务器组”节点,在其中的某个节点,在其中的某个SQL Server服务器服务器上单击鼠标右键,在弹出的快捷菜单中选择上单击鼠标右键,在弹出的快捷菜单中选择“编辑编辑SQL S

5、erver注册属性注册属性”菜菜单项,将会打开单项,将会打开 “已注册的已注册的SQL Server属性属性”对话框。在该对话框中可以设对话框。在该对话框中可以设置身份验证模式。置身份验证模式。 登录方式登录方式 登录验证有两种方式:登录验证有两种方式: SQLSQL身份验证:适合于非身份验证:适合于非windowswindows平台的用户或平台的用户或InternetInternet用用户,户, 需要提供帐户和密码需要提供帐户和密码 WindowsWindows身份验证:适合于身份验证:适合于windowswindows平台用户,不需要提供平台用户,不需要提供密码,和密码,和windowsw

6、indows集成验证集成验证 登录帐户相应有两种登录帐户相应有两种: ::SQL SQL 帐户和帐户和WindowsWindows帐户帐户 创建登录账户创建登录账户使用SQL语句创建两种模式下的登录帐户添加添加WINDOWSWINDOWS登录帐户登录帐户添加添加SQLSQL登录帐户登录帐户 EXEC sp_grantlogin windows域名域帐户 EXEC EXEC sp_addlogin 帐户名,密码 创建登录账户创建登录账户添加添加WindowsWindows登录帐户登录帐户/windows/windows用户为用户为S01,SDXYS01,SDXY表示域表示域如是本机,如是本机,S

7、DXYSDXY为计算机名为计算机名EXEC sp_grantlogin SDXYS01EXEC sp_grantlogin SDXYS01添加添加SQLSQL登录帐户登录帐户/ /登录名为登录名为zhangsan,zhangsan,密码为密码为12341234 EXEC sp_addlogin zhangsan, 1234 EXEC sp_addlogin zhangsan, 1234 GO GO 演示:创建登录帐户演示:创建登录帐户创建数据库用户创建数据库用户 创建了登录帐户,只能登录到创建了登录帐户,只能登录到SQL ServerSQL Server系统,但还不能访问某个数系统,但还不能访

8、问某个数据库。如果希望访问某个数据库,必须要成为该数据库的一个用户。据库。如果希望访问某个数据库,必须要成为该数据库的一个用户。 创建数据库用户需要调用系统存储过程创建数据库用户需要调用系统存储过程sp_grantdbaccess sp_grantdbaccess 在在empDBempDB中添加两个用户中添加两个用户 EXEC sp_grantdbaccess 登录帐户,数据库用户 USE empDB - S01DBUser为数据库用户名EXEC sp_grantdbaccess SDXYS01,S01DBUserEXEC sp_grantdbaccess zhangsan,zhangsanD

9、BUser 演示:创建数据库用户演示:创建数据库用户8.2.1 SQL Server的安全机制的安全机制 2权限验证权限验证 当用户通过身份验证登录到当用户通过身份验证登录到SQL Server服务器上后,还必须经过权限验证以服务器上后,还必须经过权限验证以决定他能访问的数据库及对访问的数据库所允许执行的操作。决定他能访问的数据库及对访问的数据库所允许执行的操作。 为了对数据库中的对象设置安全权限,每个数据库都要求设置单独的用户账号。为了对数据库中的对象设置安全权限,每个数据库都要求设置单独的用户账号。因此在因此在SQL Server中,账号有两种:登录账号和数据库用户账号。中,账号有两种:登

10、录账号和数据库用户账号。 登录账号属于服务器层面的,本身并不能让用户访问服务器中的数据库。登录登录账号属于服务器层面的,本身并不能让用户访问服务器中的数据库。登录用户要想访问数据库,应先把他加入到数据库中使他成为数据库用户,即在数用户要想访问数据库,应先把他加入到数据库中使他成为数据库用户,即在数据库中有一个关联的数据库用户账号,数据库用户账号可以与用户账号同名也据库中有一个关联的数据库用户账号,数据库用户账号可以与用户账号同名也可以不同名。可以不同名。 如果登录账号在数据库中不存在对应的数据库用户账号,若数据库中存在如果登录账号在数据库中不存在对应的数据库用户账号,若数据库中存在Guest账

11、号,则登录用户可以使用账号,则登录用户可以使用Guest账号访问数据库。登录账号对应的数据账号访问数据库。登录账号对应的数据库用户账号的数据库访问权限决定了用户在数据库中可以进行哪些操作。库用户账号的数据库访问权限决定了用户在数据库中可以进行哪些操作。 用户获得对数据库的访问权限以后,就可以存取数据库了。用户获得对数据库的访问权限以后,就可以存取数据库了。 8.2.2 服务器登录账号的管理服务器登录账号的管理 1查看登录账号查看登录账号 可使用企业管理器查看登录账号,方法是在企业管理器中,展开相应的可使用企业管理器查看登录账号,方法是在企业管理器中,展开相应的SQL Server服务器节点,再

12、展开其下的服务器节点,再展开其下的“安全性安全性”节点,单击其下的节点,单击其下的“登录登录”图标,图标,在右侧的在右侧的“内容显示内容显示”窗口中将显示出系统创建的默认登录账户以及已建立的窗口中将显示出系统创建的默认登录账户以及已建立的其他登录账户其他登录账户 。 如果采用的是如果采用的是Windows NT Server操作系统,将会有三个默认账号,含义如下:操作系统,将会有三个默认账号,含义如下:BUILTINAdministrators:凡是:凡是Windows NT Server/2000中的中的Administrators组的账号都允许作为组的账号都允许作为SQL Server登录

13、账号使用。登录账号使用。域名域名Administrator:允许:允许Windows NT Server的的Administrator账号作为账号作为SQL Server登登 录账号使用。录账号使用。sa:SQL Server系统管理员登录账号,该账号拥有最高的管理权限,可以执行系统管理员登录账号,该账号拥有最高的管理权限,可以执行服务器范围内的所有操作。通常服务器范围内的所有操作。通常SQL Server管理员也是管理员也是Windows NT或或Windows Server 2000的管理员。的管理员。8.2.2 服务器登录账号的管理服务器登录账号的管理 2创建登录账号创建登录账号【例例8

14、-19】为为SQL Server服务器创建一个登录账号,账号名为服务器创建一个登录账号,账号名为CollegeMISAdm,密码为,密码为tah980808,只能访问,只能访问CollegeMIS数据库。该登录账数据库。该登录账号的服务器角色为号的服务器角色为Database Creator。 (1)在企业管理器中,依次展开至本地服务器()在企业管理器中,依次展开至本地服务器(TAHSJ)下的)下的“安全性安全性”节点,节点,在其下的在其下的“登录登录”图标上单击右键,在出现的快捷菜单中选择图标上单击右键,在出现的快捷菜单中选择“新建登录新建登录”菜单项,菜单项,将会出现将会出现“SQL Se

15、rver登录属性登录属性新建登录新建登录”对话框。对话框。 (2)在该对话框)在该对话框“常规常规”页,输入登录名称为页,输入登录名称为“CollegeMISAdm”,选中,选中“SQL Server身份验证身份验证”单选钮并输入密码,在单选钮并输入密码,在“数据库数据库”后面的下拉式列表后面的下拉式列表框中选择框中选择“CollegeMIS”数据库数据库 (3)单击)单击“服务器角色服务器角色”页标签,选中服务器角色为页标签,选中服务器角色为“Database Creator” (4)“数据库访问数据库访问”页设置。页设置。 (5)再次输入确认密码。)再次输入确认密码。 8.2.2 服务器登

16、录账号的管理服务器登录账号的管理 2创建登录账号创建登录账号角色角色(Role)是一组具有相同权限的用户所构成的组,在是一组具有相同权限的用户所构成的组,在SQL Server中可分为服务器中可分为服务器角色与数据库角色。角色与数据库角色。 服务器角色是负责管理与维护服务器角色是负责管理与维护SQL Server的登录账号组,一般应指定管理服务器的登录账号组,一般应指定管理服务器的登录账号属于哪个服务器角色。的登录账号属于哪个服务器角色。SQL Server在安装过程中定义几个固定的服务在安装过程中定义几个固定的服务器角色器角色 8.2.2 服务器登录账号的管理服务器登录账号的管理 3登录账号

17、属性修改登录账号属性修改在企业管理器中,展开至在企业管理器中,展开至SQL Server服务器的服务器的“安全性安全性”节点,单击其下的节点,单击其下的“登录登录”图标,在右侧的图标,在右侧的“内容显示内容显示”窗口中将显示出所有的登录账号。在相窗口中将显示出所有的登录账号。在相应登录账号上单击右键,在出现的快捷菜单中选择应登录账号上单击右键,在出现的快捷菜单中选择“属性属性”菜单项,将会出现菜单项,将会出现 “SQL Server登录属性登录属性”对话框,在该对话框中可以对登录账号的属性进行修对话框,在该对话框中可以对登录账号的属性进行修改,修改完成后按改,修改完成后按“确定确定”按钮即可。

18、按钮即可。例如,若要暂时禁止一个使用例如,若要暂时禁止一个使用Windows身份验证的登录账户连接到身份验证的登录账户连接到SQL Server,只需在,只需在“SQL Server登录属性登录属性”对话框中,选择对话框中,选择“常规常规”页,然后选页,然后选取取“拒绝访问拒绝访问”复选框即可。若要暂时禁止一个使用复选框即可。若要暂时禁止一个使用SQL Server身份验证的身份验证的登录账号连接到登录账号连接到SQL Server,只需要修改该账户的登录密码,当允许该账户,只需要修改该账户的登录密码,当允许该账户登录时,再把密码改回即可。登录时,再把密码改回即可。 在企业管理器中,展开至在企

19、业管理器中,展开至SQL Server服务器的服务器的“安全性安全性”节点,单击其下的节点,单击其下的“登登录录”图标,在右侧的图标,在右侧的“内容显示内容显示”窗口中将显示出所有的登录账号。在相应登录窗口中将显示出所有的登录账号。在相应登录账号上单击右键,在出现的快捷菜单中选择账号上单击右键,在出现的快捷菜单中选择“删除删除”菜单项(或选中相应登录账菜单项(或选中相应登录账号,直接按号,直接按Delete键),在出现的键),在出现的“确认确认”对话框中单击对话框中单击“是是”按钮即可。按钮即可。 4删除登录账号删除登录账号 8.2.3 数据库用户管理数据库用户管理 SQL Server系统安

20、装后,系统安装后,master、tempdb、msdb等默认数据库等默认数据库包含两个数据库用户账号:包含两个数据库用户账号:dbo和和guest。任何一个登录账号都可以通。任何一个登录账号都可以通过它的过它的guest用户账号来存取相应的数据库。但在在用户账号来存取相应的数据库。但在在SQL Server中新建中新建一个数据库时,默认只有一个数据库时,默认只有dbo用户账号而没有用户账号而没有guest用户账号。因此要用户账号。因此要让其他的登录账号具有访问新建的数据库的权限,必须使登录账号关让其他的登录账号具有访问新建的数据库的权限,必须使登录账号关联一个新建的数据库的用户账户。联一个新建

21、的数据库的用户账户。 每个登录账号在一个数据库中只能有一个用户账号,但每个登录每个登录账号在一个数据库中只能有一个用户账号,但每个登录账号可以在不同的数据库中各有一个用户账号。登录账号具有对某个账号可以在不同的数据库中各有一个用户账号。登录账号具有对某个数据库的访问权限,并不表示该登录账号对该数据库具有存取的权限,数据库的访问权限,并不表示该登录账号对该数据库具有存取的权限,如果要对数据库对象进行插入、更新、删除等操作,还需要设置用户如果要对数据库对象进行插入、更新、删除等操作,还需要设置用户账号的权限。账号的权限。 需注意的是除需注意的是除master和和tempdb数据库中的数据库中的gu

22、est用户账号不能删除外,用户账号不能删除外,其他数据库中的其他数据库中的guest用户账号都可以删除。用户账号都可以删除。 8.2.3 数据库用户管理数据库用户管理1创建数据库用户账号创建数据库用户账号 【例例8-20】为为Pubs数据库创建一个数据库用户账号,账号名为数据库创建一个数据库用户账号,账号名为“CollegeMISAdmPubs”,角色为,角色为public、db_datareader和和db_datawriter。 (1)在企业管理器中,展开)在企业管理器中,展开SQL Server服务器下的服务器下的“数据库数据库”节点,展开节点,展开Pubs数据库,在其下的数据库,在其下

23、的“用户用户”图标上单击右键,在出现的快捷菜单中选择图标上单击右键,在出现的快捷菜单中选择“新建数新建数据库用户据库用户”菜单项,将会出现菜单项,将会出现“数据库用户属性数据库用户属性”对话框。对话框。 (2)在)在“数据库用户属性数据库用户属性”对话框中的对话框中的“登录名登录名”后面的下拉式列表框中选取后面的下拉式列表框中选取“CollegeMISAdm”登录名,用户名自动变为登录名,用户名自动变为“CollegeMISAdm”,把该名称改为,把该名称改为“CollegeMISAdmPubs”(若不修改,则数据库用户账号和登录账号名称一致)。(若不修改,则数据库用户账号和登录账号名称一致)

24、。选取数据库角色为选取数据库角色为public、db_datareader和和db_datawriter 。(3)单击)单击“确定确定”按钮,即可为按钮,即可为pubs数据库创建了一个数据库用户,用户名为数据库创建了一个数据库用户,用户名为“CollegeMISAdmPubs”。 8.2.3 数据库用户管理数据库用户管理数据库角色:数据库角色: 和登录账号类似,用户账号也可以分成组,称为数据库角色和登录账号类似,用户账号也可以分成组,称为数据库角色(Database Roles)。在实际应用中,可以建立一个角色来代表机构中。在实际应用中,可以建立一个角色来代表机构中一类拥有相同权限的工作人员,

25、然后给这个角色授予适当的权限。一类拥有相同权限的工作人员,然后给这个角色授予适当的权限。在在SQL Server中,数据库角色可分为两种:标准角色和应用程序角中,数据库角色可分为两种:标准角色和应用程序角色。标准角色是由数据库用户或其他的数据库角色所组成的组,组色。标准角色是由数据库用户或其他的数据库角色所组成的组,组中的每个数据库用户或角色称为成员,应用程序角色不包括任何成中的每个数据库用户或角色称为成员,应用程序角色不包括任何成员,主要用来控制应用程序存取数据库。在创建一个数据库时,系员,主要用来控制应用程序存取数据库。在创建一个数据库时,系统默认创建统默认创建10个固定的标准角色。个固定

26、的标准角色。8.2.3 数据库用户管理数据库用户管理2设置数据库用户账号的权限设置数据库用户账号的权限在创建数据库用户账号时在创建数据库用户账号时,“数据库用户属性数据库用户属性”对话框中对话框中“登录名登录名”右侧的右侧的“权限权限”按钮是灰色的,表示不能在创建数据库用户账号的同时设置其权限。但可以按钮是灰色的,表示不能在创建数据库用户账号的同时设置其权限。但可以在创建数据库用户账号后再通过其属性对话框来设置权限。在创建数据库用户账号后再通过其属性对话框来设置权限。 例:例:为为CollegeMIS数据库的数据库用户账号数据库的数据库用户账号CollegeMISAdm设置用户权限。设置用户权

27、限。 起始步骤起始步骤:在企业管理器中,展开至:在企业管理器中,展开至CollegeMIS数据库,单击数据库,单击“用户用户”图标,图标,在右侧的内容显示窗口中将显示出该数据库的所有用户账号。在在右侧的内容显示窗口中将显示出该数据库的所有用户账号。在“CollegeMISAdm”用户账号上单击右键,在出现的快捷菜单中选择用户账号上单击右键,在出现的快捷菜单中选择“属性属性”菜单项,将会出现菜单项,将会出现 “数据库用户属性数据库用户属性”对话框。对话框。8.2.3 数据库用户管理数据库用户管理2设置数据库用户账号的权限设置数据库用户账号的权限授予权限、禁止权限和撤消权限的含义如下。授予权限、禁

28、止权限和撤消权限的含义如下。授予权限授予权限。即允许某个用户或角色对一个对象执行某种操作或某种语句。即允许某个用户或角色对一个对象执行某种操作或某种语句。拒绝访问拒绝访问。即拒绝某个用户或角色访问某个对象。即使该用户或角色被授予。即拒绝某个用户或角色访问某个对象。即使该用户或角色被授予这种权限,或者由于继承而获得这种权限,仍然不允许执行相应的操作。这种权限,或者由于继承而获得这种权限,仍然不允许执行相应的操作。撤消权限撤消权限。即不允许某个用户或角色对一个对象执行某种操作或某种语句。即不允许某个用户或角色对一个对象执行某种操作或某种语句。不允许与拒绝是不同的,不允许执行某操作时,可以通过加入角

29、色来获得允许不允许与拒绝是不同的,不允许执行某操作时,可以通过加入角色来获得允许权;而拒绝执行某操作时,就无法再通过角色来获得允许权了。三种权限冲突权;而拒绝执行某操作时,就无法再通过角色来获得允许权了。三种权限冲突时,拒绝访问权限起作用。撤消用户的某一权限,并不代表能够禁止用户使用时,拒绝访问权限起作用。撤消用户的某一权限,并不代表能够禁止用户使用这一权限,因为用户可能通过其他角色继承了这一权限。这一权限,因为用户可能通过其他角色继承了这一权限。 3删除数据库用户账号删除数据库用户账号 通过企业管理器来实现。通过企业管理器来实现。8.2.4 管理权限管理权限 权限是指用户对数据库中的对象具有

30、使用和操作的权力,权限是指用户对数据库中的对象具有使用和操作的权力,用户对数据库所能执行的操作是由其具有的权限决定的。用户对数据库所能执行的操作是由其具有的权限决定的。1权限的种类权限的种类 在在SQL Server 2000中,权限分为三类:对象权限、语句权限和隐含权限。中,权限分为三类:对象权限、语句权限和隐含权限。 (1)对象权限。对象权限是指用户对数据库中的表、视图、存储过程等对象)对象权限。对象权限是指用户对数据库中的表、视图、存储过程等对象的操作权限,如是否允许查询、添加、删除、修改数据、执行存储过程等。的操作权限,如是否允许查询、添加、删除、修改数据、执行存储过程等。 (2)语句

31、权限。语句权限是指用户是否具有执行某种语句的权力,这些语句)语句权限。语句权限是指用户是否具有执行某种语句的权力,这些语句主要包括一些数据定义语句,如创建数据库、表、存储过程等的语句。主要包括一些数据定义语句,如创建数据库、表、存储过程等的语句。 (3)隐含权限。隐含权限是指由隐含权限。隐含权限是指由SQL Server预定义的服务器角色、数据预定义的服务器角色、数据库所有者库所有者(dbo)和数据库对象所有者所拥有的权限,隐含权限相当于内和数据库对象所有者所拥有的权限,隐含权限相当于内置权限,并不需要明确地授予这些权限。例如,服务器角色置权限,并不需要明确地授予这些权限。例如,服务器角色sy

32、sadmin的成员可以在整个服务器范围内从事任何操作,数据库所有者的成员可以在整个服务器范围内从事任何操作,数据库所有者(dbo)可可以对本数据库进行任何操作。以对本数据库进行任何操作。 8.2.4 管理权限管理权限1权限管理权限管理 权限管理的主要任务是管理对象权限和语句权限,包括权限的赋予、拒绝和撤消。权限管理的主要任务是管理对象权限和语句权限,包括权限的赋予、拒绝和撤消。角色和用户的权限可能是通过企业管理器和授权语句授予得到的,也可能是通过角角色和用户的权限可能是通过企业管理器和授权语句授予得到的,也可能是通过角色继承得来的。色继承得来的。 数据库用户继承它所属角色的权限,并且可以通过企

33、业管理器和授权语句对权限进数据库用户继承它所属角色的权限,并且可以通过企业管理器和授权语句对权限进行扩展或拒绝。但只要用户继承的角色或用户本身授予的权限对某一权限是拒绝的,行扩展或拒绝。但只要用户继承的角色或用户本身授予的权限对某一权限是拒绝的,则该权限就是拒绝的。则该权限就是拒绝的。 如果用户分属于不同的角色,他拥有的权限是各个角色的并集,但对某一权限有一如果用户分属于不同的角色,他拥有的权限是各个角色的并集,但对某一权限有一个是拒绝的,则用户的该权限就是拒绝的。在权限管理中遵循拒绝优先的原则。个是拒绝的,则用户的该权限就是拒绝的。在权限管理中遵循拒绝优先的原则。 8.2.4 管理权限管理权

34、限1权限管理权限管理 (1)使用企业管理器管理语句权限)使用企业管理器管理语句权限 在企业管理器中,展开在企业管理器中,展开“数据库数据库”节点,在要设置权限的数据库(如节点,在要设置权限的数据库(如CollegeMIS)上单击右键,在出现的快捷菜单中选择)上单击右键,在出现的快捷菜单中选择“属性属性”菜单项,将会出现相菜单项,将会出现相应数据库的应数据库的“属性属性”对话框。对话框。单击单击“权限权限”页标签,在该页可以对各数据库用户或角色的语句权限进行设置。页标签,在该页可以对各数据库用户或角色的语句权限进行设置。8.2.4 管理权限管理权限1权限管理权限管理 (2)使用企业管理器管理对象

35、权限)使用企业管理器管理对象权限在企业管理器中,展开在企业管理器中,展开“数据库数据库”节点,选中要授予权限的对象(表、视图、存节点,选中要授予权限的对象(表、视图、存储过程等)并在其上单击右键,在出现的快捷菜单中选择储过程等)并在其上单击右键,在出现的快捷菜单中选择“属性属性”菜单项,将会出菜单项,将会出现相应对象的现相应对象的“属性属性”对话框。对话框。 在该对象的在该对象的“属性属性”对话框中,一般均有一个对话框中,一般均有一个“权限权限”按钮,单击它在出现的对按钮,单击它在出现的对话框中可以对各数据库用户或角色的对象权限进行设置。话框中可以对各数据库用户或角色的对象权限进行设置。n8.

36、3.1 数据库备份概述数据库备份概述n8.3.2 数据库还原模式数据库还原模式n8.3.3 备份设备管理备份设备管理 8.3 数据库的备份与还原数据库的备份与还原n8.3.4 数据库备份与还原操作数据库备份与还原操作 8.3 数据库的备份与还原数据库的备份与还原 数据库中的数据应该是可靠的、正确的,但计算机数据库中的数据应该是可靠的、正确的,但计算机系统的故障(如:硬件故障、软件故障、网络故障、进系统的故障(如:硬件故障、软件故障、网络故障、进程故障和系统故障等)是不可避免的,这些故障的出现程故障和系统故障等)是不可避免的,这些故障的出现将影响数据库系统的正常运行,影响数据库中数据的正将影响数

37、据库系统的正常运行,影响数据库中数据的正确性,甚至破坏数据库,使数据库中的数据全部或部分确性,甚至破坏数据库,使数据库中的数据全部或部分丢失。因此需对数据库进行备份,以便在发生故障时能丢失。因此需对数据库进行备份,以便在发生故障时能够利用数据库备份对数据库进行还原。够利用数据库备份对数据库进行还原。8.3.1 数据库备份概述数据库备份概述1备份内容备份内容 在在SQL Server中数据库需备份的内容可分为系统数据库、用户数据库和事务中数据库需备份的内容可分为系统数据库、用户数据库和事务日志日志3部分。部分。 系统数据库主要包括系统数据库主要包括master、msdb、distribution

38、和和model数据库,它们记录了数据库,它们记录了重要的系统信息,一旦损坏就可能使重要的系统信息,一旦损坏就可能使 SQL Server 2000系统无法正常运行,必须完系统无法正常运行,必须完全备份。在便在系统发生故障时能够利用它们的备份还原整个系统。但不可能也没全备份。在便在系统发生故障时能够利用它们的备份还原整个系统。但不可能也没有必要对系统数据库有必要对系统数据库tempdb进行备份进行备份 。 用户数据库是机构重要的信息资源,根据其重要性可分为关键数据和非关键数用户数据库是机构重要的信息资源,根据其重要性可分为关键数据和非关键数据。对于关键数据,一旦损坏,不易甚至不能重新建立,必须进

39、行完全备份。据。对于关键数据,一旦损坏,不易甚至不能重新建立,必须进行完全备份。 事务日志记录了用户对数据的各种事务操作,平时系统会自动管理和维护所有事务日志记录了用户对数据的各种事务操作,平时系统会自动管理和维护所有的数据库事务日志文件。相对于数据库备份,事务日志备份所需要的时间较少,但的数据库事务日志文件。相对于数据库备份,事务日志备份所需要的时间较少,但还原需要的时间比较长。还原需要的时间比较长。 注意:注意:在在SQL Server 2000中,固定服务器角色中,固定服务器角色sysadmin和固定数据库角色和固定数据库角色db_owner、db_backupoperator可以做备份

40、操作,但可以通过授权允许其他角色执可以做备份操作,但可以通过授权允许其他角色执行数据库备份操作。行数据库备份操作。8.3.1 数据库备份概述数据库备份概述2备份设备备份设备 数据库备份前,必须选择备份设备。备份设备是用来存储备份数据的存储介数据库备份前,必须选择备份设备。备份设备是用来存储备份数据的存储介质,可以是硬盘、磁带或命名管道(逻辑通道)。质,可以是硬盘、磁带或命名管道(逻辑通道)。SQL Server允许将本地主机硬允许将本地主机硬盘和远程主机的硬盘作为备份设备,备份设备在硬盘中是以文件的方式存储的。盘和远程主机的硬盘作为备份设备,备份设备在硬盘中是以文件的方式存储的。SQL Ser

41、ver只允许使用本地主机的磁带机作为备份设备而不允许使用远程主机上只允许使用本地主机的磁带机作为备份设备而不允许使用远程主机上的磁带机作为备份设备。的磁带机作为备份设备。 SQL Server使用物理设备名称或逻辑设备名称来标识备份设备。物理设备名称使用物理设备名称或逻辑设备名称来标识备份设备。物理设备名称是操作系统用来标识备份设备的名称,逻辑设备名称是用来标识物理备份设备的别是操作系统用来标识备份设备的名称,逻辑设备名称是用来标识物理备份设备的别名或公用名称,逻辑设备名称有助于记忆和书写名或公用名称,逻辑设备名称有助于记忆和书写 。 使用逻辑设备名称标识的备份设备称为永久备份设备,其名称永久

42、地存储在使用逻辑设备名称标识的备份设备称为永久备份设备,其名称永久地存储在SQL Server的系统设备表中,可以多次使用。使用物理设备名称标识的备份设备的系统设备表中,可以多次使用。使用物理设备名称标识的备份设备称为临时备份设备,其名称没有记录在系统设备表中,只能使用一次。称为临时备份设备,其名称没有记录在系统设备表中,只能使用一次。 8.3.1 数据库备份概述数据库备份概述3备份时机备份时机 对于系统数据库,只要执行某些语句或存储过程导致对于系统数据库,只要执行某些语句或存储过程导致SQL Server对系统数据对系统数据库进行了修改,就需要备份。库进行了修改,就需要备份。 对于用户数据库

43、,如果用户或程序对之执行了添加数据、修改数据、删除数据、对于用户数据库,如果用户或程序对之执行了添加数据、修改数据、删除数据、创建索引等操作,则应该对用户数据库进行备份。如果清除了事务日志,也应该备创建索引等操作,则应该对用户数据库进行备份。如果清除了事务日志,也应该备份数据库。份数据库。 8.3.1 数据库备份概述数据库备份概述4备份类型备份类型 SQL Server 2000支持支持4种基本类型的备份:完全备份种基本类型的备份:完全备份(Full Backup)、事务日、事务日志备份志备份(Transaction Log Backup)、差异备份、差异备份(Differential Dat

44、abase Backup)以及以及文件和文件组备份文件和文件组备份(File and File Group Backup)。 (1)完全备份)完全备份。完全备份将备份整个数据库,包括用户表、系统表、索引、视图。完全备份将备份整个数据库,包括用户表、系统表、索引、视图和存储过程等所有数据库对象。适用于数据更新缓慢的数据库。由于这种类型的备和存储过程等所有数据库对象。适用于数据更新缓慢的数据库。由于这种类型的备份不仅速度较慢,而且将占用大量磁盘空间,所以通常将其安排在晚间整个数据库份不仅速度较慢,而且将占用大量磁盘空间,所以通常将其安排在晚间整个数据库系统的事务运行数目相对较少时进行,以避免对用户

45、的影响和提高数据库备份的速系统的事务运行数目相对较少时进行,以避免对用户的影响和提高数据库备份的速度。度。 (2)事务日志备份)事务日志备份。事务日志备份是指对数据库发生的事务进行备份,包括从上。事务日志备份是指对数据库发生的事务进行备份,包括从上次进行事务日志备份、差异备份和完全备份之后,所有已经完成的事务。事务日志次进行事务日志备份、差异备份和完全备份之后,所有已经完成的事务。事务日志备份通常用在数据库变化较为频繁或不允许在最近一次数据库备份之后发生数据丢备份通常用在数据库变化较为频繁或不允许在最近一次数据库备份之后发生数据丢失或损坏的情况。失或损坏的情况。 事务日志备份需要的磁盘空间和备

46、份时间都比数据库备份少得多,正是由于这事务日志备份需要的磁盘空间和备份时间都比数据库备份少得多,正是由于这个优点,所以在备份时常采用这样的策略,即每天进行一次数据库备份,而以一个个优点,所以在备份时常采用这样的策略,即每天进行一次数据库备份,而以一个或几个小时的频率备份事务日志。这样就可以将数据库还原到任意一个创建事务日或几个小时的频率备份事务日志。这样就可以将数据库还原到任意一个创建事务日志备份的时刻。志备份的时刻。 使用事务日志对数据库进行还原操作比较麻烦,它不但需要有一个数据库的完使用事务日志对数据库进行还原操作比较麻烦,它不但需要有一个数据库的完全备份,而且对事务日志备份还需要按一定的

47、顺序进行还原。全备份,而且对事务日志备份还需要按一定的顺序进行还原。 (3)差异备份。)差异备份。差异备份只记录自上次完全备份后发生更改的数据,差异备份一差异备份只记录自上次完全备份后发生更改的数据,差异备份一般会比完全备份占用更少的空间。与完全备份相比,差异备份的数据量较小,备份般会比完全备份占用更少的空间。与完全备份相比,差异备份的数据量较小,备份和还原所用的时间较短。通过增加差异备份的备份次数,可以降低丢失数据的风险,和还原所用的时间较短。通过增加差异备份的备份次数,可以降低丢失数据的风险,但是它无法像事务日志备份那样提供到失败点的无数据损失备份。但是它无法像事务日志备份那样提供到失败点

48、的无数据损失备份。 在实际应用中一般经常综合使用完全备份、差异备份和事务日志备份,以最大在实际应用中一般经常综合使用完全备份、差异备份和事务日志备份,以最大限度地减少数据库还原时间以及降低数据损失数量。例如对于一个数据经常变化的限度地减少数据库还原时间以及降低数据损失数量。例如对于一个数据经常变化的数据库,可采用以下的备份方案:数据库,可采用以下的备份方案: 有规律地进行数据库的完全备份,例如每天夜里零点进行备份。有规律地进行数据库的完全备份,例如每天夜里零点进行备份。 较小的时间间隔进行差异备份,例如每个小时进行一次。较小的时间间隔进行差异备份,例如每个小时进行一次。 在相临的两次差异备份之

49、间进行事务日志备份,可以每在相临的两次差异备份之间进行事务日志备份,可以每5分钟或分钟或10分分钟进行一次。钟进行一次。 当数据库发生故障时,若想数据库能还原到数据库失败的那一时刻,当数据库发生故障时,若想数据库能还原到数据库失败的那一时刻,这时应该采用下面的方法:这时应该采用下面的方法: 如果能够访问数据库事务日志文件,则应备份当前正处于活动状态的事务日如果能够访问数据库事务日志文件,则应备份当前正处于活动状态的事务日志。志。 还原最近一次完全备份。还原最近一次完全备份。 还原最近一次差异备份。还原最近一次差异备份。 按顺序还原自差异备份以来进行的事务日志备份。按顺序还原自差异备份以来进行的

50、事务日志备份。注意:注意:若数据库失败时,无法备份当前数据库正在进行的事务,则只能把数据库还若数据库失败时,无法备份当前数据库正在进行的事务,则只能把数据库还原到最近一次事务日志备份的状态,而不是数据库的失败点。此时可通过其它的手原到最近一次事务日志备份的状态,而不是数据库的失败点。此时可通过其它的手段来使数据库还原到失败点,如每笔业务打印的单据或填写的表格等。段来使数据库还原到失败点,如每笔业务打印的单据或填写的表格等。 (4)文件和文件组备份。)文件和文件组备份。当数据库非常庞大时,可执行数据当数据库非常庞大时,可执行数据库文件或文件组备份。这种备份策略使用户只还原已损坏的库文件或文件组备

51、份。这种备份策略使用户只还原已损坏的文件或文件组,而不用还原数据库的其余部分。文件和文件文件或文件组,而不用还原数据库的其余部分。文件和文件组备份通常和事务日志备份联合起来使用,文件和文件组备组备份通常和事务日志备份联合起来使用,文件和文件组备份后还要进行事务日志备份,以反映文件或文件组备份后的份后还要进行事务日志备份,以反映文件或文件组备份后的数据变化。数据变化。 8.3.2 数据库还原模式数据库还原模式 数据库还原是和数据库备份相对应的操作,它是将数据库数据库还原是和数据库备份相对应的操作,它是将数据库备份重新加载到系统中的过程。数据库还原可以创建备份完备份重新加载到系统中的过程。数据库还

52、原可以创建备份完成时数据库中存在的相关文件,但是备份以后的所有数据库成时数据库中存在的相关文件,但是备份以后的所有数据库修改都将丢失。修改都将丢失。 SQL Server提供了提供了3种数据库还原模式:简单还原种数据库还原模式:简单还原(Simple Recovery)、完全还原()、完全还原(Full Recovery)、大容量)、大容量日志记录还原(日志记录还原(Bulk-Logged Recovery)。)。 8.3.2 数据库还原模式数据库还原模式 1. 简单还原模式简单还原模式 简单还原模式可以将数据库还原到上次备份处,但是无法将数据库还原到简单还原模式可以将数据库还原到上次备份处,

53、但是无法将数据库还原到故障点或待定的即时点。它常用于还原最新的数据库的完全备份和差异备份故障点或待定的即时点。它常用于还原最新的数据库的完全备份和差异备份,若若想还原到数据库失败时,必须重建最新的数据库备份或者差异备份后的更改。想还原到数据库失败时,必须重建最新的数据库备份或者差异备份后的更改。 2. 完全还原模式完全还原模式 完全还原模式使用数据库的完全备份和事务日志备份将数据库还原到故障点完全还原模式使用数据库的完全备份和事务日志备份将数据库还原到故障点或特定即时点。为保证这种还原程度,包括大容量操作(如或特定即时点。为保证这种还原程度,包括大容量操作(如SELECT INTO、CREAT

54、E INDEX和大容量装载数据)在内的所有操作都将完整地记入日志。和大容量装载数据)在内的所有操作都将完整地记入日志。在这种还原模式下,如果事务日志损坏,则必须重做最新的日志备份后再进行在这种还原模式下,如果事务日志损坏,则必须重做最新的日志备份后再进行还原。还原。 3.大容量日志记录还原模式大容量日志记录还原模式 大容量日志记录还原模式为某些大规模或大容量复制操作提供最佳性能和最大容量日志记录还原模式为某些大规模或大容量复制操作提供最佳性能和最少日志使用空间。该种还原模式只允许数据库还原到事务日志备份的结尾处,不少日志使用空间。该种还原模式只允许数据库还原到事务日志备份的结尾处,不支持即时点

55、还原。这种还原模式所采用的备份策略与完成还原模式基本相同。支持即时点还原。这种还原模式所采用的备份策略与完成还原模式基本相同。 8.3.3 备份设备管理备份设备管理 1. 使用企业管理器创建备份设备使用企业管理器创建备份设备 【例例8-21】创建一个逻辑设备名称为创建一个逻辑设备名称为CollegeMIS_BackupDev的备份设的备份设备,该设备对应于备,该设备对应于D:CollegeBackup文件夹下的操作系统文件文件夹下的操作系统文件CollegeMIS_BackupDev.BAK。 起始步骤:起始步骤:在企业管理器中,展开要创建备份设备的在企业管理器中,展开要创建备份设备的SQL

56、Server服务器(本地服务器(本地服务器)下的服务器)下的“管理管理”节点,在节点,在“备份备份”图标上单击右键,在出现的快捷菜单图标上单击右键,在出现的快捷菜单中选择中选择“新建备份设备新建备份设备”菜单项,将会出现菜单项,将会出现“备份设备属性备份设备属性”对话框。对话框。 2使用企业管理器删除备份设备使用企业管理器删除备份设备 起始步骤:起始步骤:在企业管理器中,展开要删除备份设备的在企业管理器中,展开要删除备份设备的SQL Server服务器下的服务器下的“管理管理”节点,单击其下的节点,单击其下的 “备份备份”图标,在右侧的图标,在右侧的“内容显示内容显示”窗口中将会显窗口中将会显

57、示出所有的备份设备名。示出所有的备份设备名。 8.3.4 数据库的备份与还原操作数据库的备份与还原操作1使用企业管理器对数据库进行备份操作使用企业管理器对数据库进行备份操作 【例例8-22】把把CollegeMIS数据库完全备份到数据库完全备份到CollegeMIS_BackupDev备备份设备中。份设备中。 起始步骤:起始步骤:在企业管理器中,展开至在企业管理器中,展开至“数据库数据库”节点,在节点,在“CollegeMIS”数据数据库上单击右键,在出现的快捷菜单中选择库上单击右键,在出现的快捷菜单中选择“所有任务所有任务”下的下的“备份数据库备份数据库”菜菜单项,将会出现单项,将会出现 “SQL Server备份备份”对话框。对话框。 2使用企业管理器对数据库进行还原操作使用企业管理器对数据库进行还原操作【例例8-23】利用例利用例8-22创建的数据库备份还原创建的数据库备份还原CollegeMIS数据库。数据库。起始步骤:起始步骤:在企业管理器中,展开至在企业管理器中,展开至“数据库数据库”节点,在节点,在“CollegeMIS”数据数据库上单击右键,在出现的快捷菜单中选择库上单击右键,在出现的快捷菜单中选择“所有任务所有任务”下的下的“还原数据库还原数据库”菜菜单项,将会出现单项,将会出现 “还原数据库还原数据库”对话框。对话框。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号