数据库原理与应用 学习情境10:数据库系统的管理和维护.

Slides:



Advertisements
Similar presentations
数据库原理与应用教程 ―SQL Server
Advertisements

4 数据库管理.
第10章 数据库备份与恢复 第10章 数据库备份与恢复 10.1 数据库备份 10.2 恢复数据库 10.3 数据库的维护 上页 下页 结束.
第16章 备份与恢复 基 本 概 念 16.1 备份数据库 16.2 恢复数据库 16.3.
项目4 保障数据库安全 第13章 数据库的安全性 第14章 备份、恢复、分离附加与 导入导出数据库
8.1 备份和恢复概述 备份和恢复需求分析.
第15章 备份与恢复数据库 日志文件 基本概念 恢复数据库的基本原理 数据库故障的种类 备份数据库 备份的内容和时间 备份的一般方法
第11章 数据备份、恢复和报表 本章概述: 本章主要讲解如何规划数据库的日常备份策略,以及当数据库发生故障时应当采取怎样的手段进行数据恢复。本章首先讲解了如何制订备份策略,然后说明了如何进行备份和还原。同时,本章还介绍了数据库快照以及系统数据库恢复的问题。学生需要掌握多种备份策略,包括完整备份、差异备份、日志备份以及快照备份,同时需要了解应该在何种场合下使用相应的策略。
第六 章数据库访问页 6.1 数据访问页视图 6.2 创建数据访问页 6.3 编辑数据访问页 6.4 查看数据访问页 退出.
第四章 数据库管理和使用.
公务员管理子系统建设步骤 1、组建由局长直接领导的体制,制定公务员管理、工资管理、其他业务用户的管理权限,以及各业务间的协作流程。
第十三章 SQL Server的安全管理.
第11章 数据库的安全性 教学提示:安全性对于任何一种数据库管理系统来说都是至关重要的,SQL Server 2000 提供了有效的数据访问安全机制。本章以附录2《SQL上机考试与辅助阅卷系统》安全性设计与实现为教学案例。 教学要求:通过本章的学习,读者应该掌握SQL 服务器安全性机制及其运用。
Oracle数据库 Oracle 子程序.
Tutorial on Overseas Module User Registration 海外学员注册指南
济贵金属艺术品交易中心 JIGUIJINSHUYISHUPINJIAOYIZHONGXIN 入金操作流程
第 六 章 SQL Server 基础及使用 6.1 SQL Server 概述 6.2 安装与测试
在PHP和MYSQL中实现完美的中文显示
第4章 数据库管理 4.1 数据库的存储结构 4.2 创建、修改和删除数据库 4.3 数据库备份 4.4 恢复数据库 4.5 数据库的维护
第9章 SQL Server的数据库保护技术 教学目标:通过本章学习,了解SQL Server的安全体系结构的含义和安全认证模式的分类;掌握SQL Server登录账号、用户账号及角色的创建方法;熟悉权限的分类,掌握对象权限和语句权限的管理方法;明确SQL Server中数据完整性的种类,掌握数据完整性实现的具体方法;熟悉SQL.
大学计算机基础 典型案例之一 构建FPT服务器.
第6章 SQL Server权限管理 6.1 SQL Server权限管理策略 6.2 用户权限管理 上一章 返回目录.
第 6 章 使用者權限.
SQL Injection.
辅导课程六.
网络常用常用命令 课件制作人:谢希仁.
教 师:曾晓东 电 话: 数据库技术 教 师:曾晓东 电 话:
Windows网络操作系统管理 ——Windows Server 2008 R2.
Windows网络操作系统管理 ——Windows Server 2008 R2.
第一讲: 基本流程(1).
第十章 IDL访问数据库 10.1 数据库与数据库访问 1、数据库 数据库中数据的组织由低到高分为四级:字段、记录、表、数据库四种。
第17章 网站发布.
2019/1/12 GDP设计协同 超级管理员操作手册 GDP项目组.
国家“十一五”规划教材 数据库原理与应用教程(第3版).
ENS 10.1安装配置指南 王俊涛 | SE.
实验七、 数据完整性和数据安全性 机械工业出版社.
Windows 7 的系统设置.
SQL Server 2000数据库 简明教程 李存斌 主编 下一页.
用event class 从input的root文件中,由DmpDataBuffer::ReadObject读取数据的问题
第10章 备份和恢复 本章导读: 在数据库的使用过程中,难免会由于软硬件故障、病毒入侵、操作不当等各种因素造成数据的丢失或损坏。备份和恢复是保证数据库有效性、正确性和可靠性的重要措施。运用适当的备份策略,可以保证及时有效地恢复数据库中的重要数据,将数据损失量降低到最小点。 知识要点: 备份 恢复.
本次课主题:备份和恢复.
学习要点: 备份的概念 备份的类型 数据库备份的方法 恢复数据库的方法
第13章 数据库的备份与恢复 13.1 数据库备份设备 13.2 数据库备份 13.3 数据库恢复.
数据库应用技术 SQL Server 2005.
教 师:曾晓东 电 话: 数据库技术 教 师:曾晓东 电 话:
新PQDT论文全文库提交平台.
实验讲评
第3章 创建和维护数据库 3.1 数据库的结构 3.2 创建数据库的方法 3.3 数据库维护 3.4 数据库迁移.
商业分析平台-语义元数据 用友集团技术中心 边传猛 2013年 11月 06日.
VB与Access数据库的连接.
教育部 财政部 网络教育数字化学习资源中心平台系统 安装与配置
第11章 数据库安全性管理 本章导读: 合理有效的数据库安全机制,不仅可以保证被授权用户方便地访问数据库中的数据,还能够防止非法用户的入侵。SQL Server的安全性管理是建立在身份验证和权限验证的基础上,并通过SQL Server登录、数据库用户、角色、权限等机制实现。 知识要点: SQL Server登录.
数据库系统与应用实验 基于SQL Server 2005.
Visual Basic程序设计 第13章 访问数据库
系统权限管理概要 用 户 访问权限 对 象 用户和组 全局权限 类别 每个用户可以属于多个用户组 用户组可以与AD安全组同步 系统预置用户组
Delphi 7.0开发示例.
GIS基本功能 数据存储 与管理 数据采集 数据处理 与编辑 空间查询 空间查询 GIS能做什么? 与分析 叠加分析 缓冲区分析 网络分析
Python 环境搭建 基于Anaconda和VSCode.
第六章 Excel的应用 五、EXCEL的数据库功能 1、Excel的数据库及其结构 2、Excel下的数据排序 (1)Excel的字段名行
基于列存储的RDF数据管理 朱敏
VB与Access数据库的连接.
WEB程序设计技术 数据库操作.
使用说明书 网址: 贵阳学院智慧实验室管理平台 用户中心 使用说明书 网址:
第四章 UNIX文件系统.
使用ADO访问数据库 李宝智 BonizLee 课程 10564A
创建、启动和关闭Activity 本讲大纲: 1、创建Activity 2、配置Activity 3、启动和关闭Activity
学习目标 1、使用Mysql Workbench修改表
使用Fragment 本讲大纲: 1、创建Fragment 2、在Activity中添加Fragment
RefWorks使用指南 归档、管理个人参考文献.
JUDDI安装手册.
Presentation transcript:

数据库原理与应用 学习情境10:数据库系统的管理和维护

学习目标: 3 1 2 3 4 培养团队协作精神、语言表达能力 熟悉数据安全认证的内容,实现数据安全设置 熟练掌握数据库备份和还原的方法 熟练掌握数据导入导出的方法 3 培养团队协作精神、语言表达能力 4

任务的提出 在部分将首先介绍SQL Server的安全访问机制,介绍SQL Server系统中登录账户、用户、角色和权限的管理方法与操作技巧。最后还将介绍SQL Server系统中实现数据安全的保障机制——数据备份与恢复。主要介绍数据库备份与恢复的策略和原则,实现数据库备份与恢复的方法和操作技巧。

10.2 SQL Server 2000的安全机制 图10.1 登录账户和用户之间的关系 在SQL Server中工作时,用户必须要经过两个安全性阶段:身份验证和授权(权限验证)。身份验证是使用登录账户登录系统,并只验证用户连接SQL Server实例的能力。如果身份验证成功,用户即可连接到SQL Server实例上。然后用户需要拥有访问服务器上数据库的权限,权限验证阶段则控制用户在SQL Server数据库中所允许进行的活动

10.2.1 Windows身份验证模式 当用户通过Windows用户账户进行连接时,SQL Server通过回叫Windows 系统以获得信息,并重新验证账户名和密码。SQL Server通过使用网络用户的安全特性控制登录访问,以实现与Windows系统的登录安全机制集成。 用户的网络安全特性在网络登录时建立,并通过Windows 域控制器进行验证。当网络用户尝试连接时,SQL Server使用基于windows系统的功能确定经过验证的网络用户名。SQL Server将验证此用户是否是合法用户,然后只基于网络用户名允许或拒绝登录访问,而不要求单独的登录名和密码。登录安全集成在SQL Server中任何受支持的网络协议上运行。

10.2.2 混合验证模式 当系统采用SQL Server身份验证模式进行连接时,SQL Server将通过检查是否己设置SQL Server登录账户,以及指定的密码是否与以前记录的密码匹配进行身份验证。如果SQL Server未设置登录账户,则身份验证将失败,而且用户会收到错误信息。在这种方式下,用户必须提供密码,让SQL Server验证。

SQL Server中的账户包含两种:登录账户、数据库用户账户。 10.3 登录账户管理 SQL Server中的账户包含两种:登录账户、数据库用户账户。 登录账户是面对整个SQL Server 管理系统的,某位用户必须使用特定的登录账户才能连接到SQL Server ,但连接上并不说明就有访问数据库的权力。 数据库用户账户则针对SQL Server 管理系统中的某个数据库而言,当某位用户用合法登录账户连接到SQL Server 后,还必须在所访问的数据中创建数据库用户账户。

(2)将用户帐户设置SQL Server登录账户。 【任务10.2】 《晓灵学生管理系统》中要求学生既可以通过校园网登录服务器查询自己的成绩,也可以通过互联网登录服务器来查询自己的成绩。问:对于这种情况应如何设置其登录账户和数据用户。 (l)要使两类用户都能访问SQL Server,必须将SQL Server服务器的身份验证模式设为“SQL Server 和Windows[S]”。 (2)将用户帐户设置SQL Server登录账户。 (3)设置完登录账户后,可在myDB数据库的用户中加入上述登录账户,即可将其映射为合法的数据库用户。

10.3.1 设置Windows用户连接SQL Server系统 1.使用企业管理器管理登录账户 具体操作步骤如下: ① 在企业管理器中,展开服务器组后再展开一个服务器。 ② 展开【安全性】节点,然后单击【登录】。 ③ 右击详细信息窗格的空白处,然后选择【新建登录】。 ④ 在出现的界面中选择【常规】选项卡,如图10.4所示。 ⑤ 在【名称】一栏中,单击按钮,然后选择要加入的windows 2000用户“student”,单击【添加】按钮。 ⑥ 选择【允许访问】单选钮。 ⑦ 【默认设置】一栏中的语言选项按系统的默认值设定。数据库选项设置为“myDB”。 ⑧ 单击【确定】按钮,即可成功创建登录。

2.用存储过程设置Windows用户连接SQL Server 其语法格式为:sp_grantlogin [@loginame =] 'login' 参数说明:[@loginame =] 'login':是要添加的Windows用户或组的名称。Windows组和用户必须用Windows域名限定,格式为“域\用户”,例如zhenaj\student。

10.3.2 设置SQL Server 登录账户 1.使用企业管理器添加SQL Server 登录账户 其语法格式如下: sp_addlogin [ @loginame = ] 'login' [ , [ @passwd = ] 'password' ] [ , [ @defdb = ] 'database' ] [ , [ @deflanguage = ] 'language' ] [ , [ @sid = ] sid ] [ , [ @encryptopt = ] 'encryption_option' ] 参数说明: [@loginame =] 'login':登录的名称。 [@passwd =] 'password':登录密码。 [@defdb =] 'database':登录的默认数据库(登录后登录所连接到的数据库)。 [@deflanguage =] 'language':用户登录到 SQL Server 时系统指派的默认语言。 [@sid =] sid:安全标识号 (SID)。 [@encryptopt =] 'encryption_option':指定当密码存储在系统表中时,密码是否要加密。

10.3.3 修改登录账户的属性 对于创建好的登录账户,可修改的属性有: 默认数据库 默认语言 登录账户是SQL Server 账户的口令 其操作步骤如下。 ① 在企业管理器中,展开【SQL Server 组】后再展开要管理的服务器。 ② 展开【安全性】节点,然后单击【登录】按钮。 ③ 在右边的登录账户列表中双击要修改的账户④ 修改相应选项后单击【确定】按钮。

1.暂时禁止 10.3.4 禁止登录账户 对于使用SQL Server 身份验证的登录账户,只要修改登录密码就可。 10.3.4 禁止登录账户 1.暂时禁止 对于使用SQL Server 身份验证的登录账户,只要修改登录密码就可。 对于使用Windows 身份验证的登录账户,可按如下步骤操作: ① 在企业管理器中,展开【SQL Server 组】后再展开要管理的服务器。 ② 展开【安全性】节点,然后单击【登录】按钮。 ③ 在右边的登录账户列表中双击要禁止的账户,出现如图10.4所示的窗口。 ④ 选择【拒绝访问】单选钮后单击【确定】按钮完成对登录账户“zhenaj\student”的禁止。 2.永久禁止 要永久禁止一个登录账户连接到SQL Server,应当将该登录账户删除。

10.3.5 删除登录账户 1.使用企业管理器删除登录账户 操作步骤如下: ① 在企业管理器中,展开【SQL Server 组】后再展开要管理的服务器。 ② 展开【安全性】节点,然后单击【登录】。 ③ 在右边窗口中选择要删除的登录名。 ④ 右键单击该登录名后选择【删除】命令,也可直接按Delete 键。 ⑤ 在弹出的对话框中单击【确定】按钮即可成功删除。

2.使用存储过程删除登录账户 可以使用存储过程sp_droplogin删除SQL Server登录,以阻止使用该登录名访问SQL Server实例。其语法格式如下: sp_droplogin [ @loginame = ] 'login' 【任务10.7】要删除一个使用SQL server 身份验证的登录账户“STU”和一个使用Windows身份验证的登录账户“zhenaj\student”。 EXECUTE sp_droplogin 'STU' EXECUTE sp_revokelogin ' zhenaj\student'

10.4 数据库用户管理 10.4.1 创建数据库用户 1.使用企业管理器创建数据库用户 2.使用存储过程创建数据库用户 其语法格式为: 10.4.1 创建数据库用户 1.使用企业管理器创建数据库用户 2.使用存储过程创建数据库用户 其语法格式为: sp_grantdbaccess [@loginame =] 'login' [,[@name_in_db =] 'name_in_db' [OUTPUT]] 参数说明: [@loginame =] 'login':当前数据库中新安全账户的登录账户名称。登录不能使用数据库中已有的账户作为别名。 [@name_in_db =] ‘name_in_db’ [OUTPUT]:数据库中用户账户的名称。如果没有指定,则使用登录账户名称。 【任务10.8】假如有使用SQL Server 身份验证的登录账户“TEA”,为其在数据库myDB中添加一个数据库用户账户。 可以在查询分析器中执行下列语句: use myDB go EXECUTE sp_grantdbaccess 'TEA','TEA'

10.4.2 修改数据库用户 1.使用企业管理器修改数据库用户 2.使用存储过程修改用户账户所属的角色 10.4.2 修改数据库用户 1.使用企业管理器修改数据库用户 2.使用存储过程修改用户账户所属的角色 通过T-SQL语句修改用户账户所属角色时,要用到以下两个系统存储过程: sp_addrolemember将数据库用户添加到一个数据库角色 sp_droprolemember 从一个数据库角色中删除一个用户账户 它们的语法格式如下: sp_addrolemember [ @rolename = ] 'role' , [ @membername = ] 'security_account' sp_droprolemember [ @rolename = ] 'role' , [ @membername = ] 'security_account' 参数说明: [@rolename =] 'role':当前数据库中SQL Server角色的名称。 [@membername =] 'security_account':添加到角色的数据库用户账户。

【任务10.9】将登录账户“LEAD”添加到数据库myDB,使其成为数据库用户“LEAD”,然后将“STU”添到数据库myDB的db_accessadmin 角色中。 可以在查询分析器中执行下列SQL语句: use myDB EXECUTE sp_grantdbaccess 'LEAD', 'LEAD' EXECUTE sp_addrolemember 'db_accessadmin','STU' EXECUTE sp_helpuser 'STU' --查看用户STU的相关信息

sp_revokedbaccess [ @name_in_db = ] 'name' 参数说明: 10.4.3 删除数据库用户 1.使用企业管理器删除数据用户 2.使用存储过程删除数据用户 sp_revokedbaccess [ @name_in_db = ] 'name' 参数说明: [@name_in_db =] 'name':是要删除的账户名称。账户名必须存在于当前数据库中。 【任务10.10】从当前数据库myDB中删除用户账户STU。 EXECUTE sp_revokedbaccess 'STU'

在SQL Server 2000 中,角色分为以下两类: 服务器角色:是服务器级的一个对象,只能包含登录。分配了一定的服务器操作权限。 10.5 角色管理 在SQL Server 2000 中,角色分为以下两类: 服务器角色:是服务器级的一个对象,只能包含登录。分配了一定的服务器操作权限。 数据库角色:是数据库级的一个对象,只能包含数据库用户而不能包含登录。分配了一定的数据库操作权限。

10.5.1 服务器角色和数据库角色 数据库角色分为固定数据库角色和自定义数据库角色两类。在安装完SQL Server后,系统也为每个数据库自动创建了10个固定的数据库角色,它们提供了数据库一级的管理权限集。服务器角色存放在每个数据库的sysuser表中。 固定数据库角色 描述 db_owner 在数据库中有全部权限。 db_accessadmin 可以添加或删除用户ID。 db_securityadmin 可以管理全部权限、对象所有权、角色和角色成员资格。 db_ddladmin 可以发出ALL DDL,但不能发出GRANT、REVOKE或DENY语句。 db_backupoperator 可以发出 DBCC、CHECKPOINT 和 BACKUP 语句。 db_datareader 可以选择数据库内任何用户表中的所有数据。 db_datawriter 可以更改数据库内任何用户表中的所有数据。 db_denydatareader 不能选择数据库内任何用户表中的任何数据。 db_denydatawriter 不能更改数据库内任何用户表中的任何数据。 public 维护所有的默认权限。不能被删除。

1.向固定服务器角色添加成员 10.5.2 服务器角色的应用 10.5.2 服务器角色的应用 1.向固定服务器角色添加成员 sp_addsrvrolemember [ @loginame = ] 'login', [@rolename =] 'role' 参数说明: [@loginame =] 'login':是添加到固定服务器角色的登录名称。 [@rolename =] 'role':要将登录添加到的固定服务器角色的名称。 【任务10.12】使用T-SQL语句解决【任务10.11】的问题可在查询分析器中执行下列T-SQL语句: EXECUTE sp_addsrvrolemember 'myadmin','sysadmin'

2.删除固定服务器角色内的成员 使用存储过程sp_dropsrvrolemember。其语法格式:sp_dropsrvrolemember [ @loginame = ] 'login' , [ @rolename = ] 'role' 参数说明: [@loginame =] 'login':将要从固定服务器角色删除的登录账户。 [@rolename =] 'role':有效的固定服务器角色的名称。 【任务10.14】使用T-SQL语句解决【任务10.13】的问题,可以在查询分析器中执行下列T-SQL语句: EXECUTE sp_dropsrvrolemember 'myadmin','sysadmin'

10.5.3 数据库角色的应用 创建自定义角色 use dbname exec sp_addrole ‘rolename’ 10.5.3 数据库角色的应用 创建自定义角色 use dbname exec sp_addrole ‘rolename’ 向角色中添加成员 use dbname exec sp_addrolemember ‘rolename’ ‘db_user_name’ 删除数据库角色 use dbname exec sp_droprole ‘rolename

10.6 权限管理 10.6.1 权限的分类 1.对象权限 2.语句权限 3.暗示性权限 10.6.2 权限管理的内容 10.6.1 权限的分类 1.对象权限 2.语句权限 3.暗示性权限 10.6.2 权限管理的内容 权限可由数据所有者和角色进行管理,其内容主要包括以下三方面: l.授予权限 2.禁止权限 3.废除权限

10.6.3 管理数据库用户的权限 2.使用T - SQL语句管理数据库用户的权限 10.6.3 管理数据库用户的权限 2.使用T - SQL语句管理数据库用户的权限 在SQL Server中分别使用GRANT、REVOKE和DENY语句来授予权限、禁止权限和废除权限。其中GRANT和REVOKE语句的语法格式分别如下: GRANT <permission> on <object> TO <user> REVOKE <permission> on <object> TO <user> DENY { ALL [ PRIVILEGES ] | permission [ ,...n ] } { [ ( column [ ,...n ] ) ] ON { table | view } | ON { table | view } [ ( column [ ,...n ] ) ] | ON { stored_procedure | extended_procedure } | ON { user_defined_function } } TO security_account [ ,...n ] [ CASCADE ]

10.7.1 备份与恢复的基本概念 10.7 备份与恢复的基本概念和策略 所谓备份就是数据管理员定期地将整个数据库复制到磁带或另一个磁盘上保存起来的过程。这些设备的数据文本被称为后备副本。当数据库遭到破坏的时候就可以利用后备副本把数据库恢复。 所谓恢复就是在数据库遭到破坏以后,由拥有权限的用户装载最近备份的数据库和应用事务日志来重建数据库到失败点的过程。

1.数据库备份的类型 完全备份 差异备份 事务日志备份 文件和文件组备份

简单恢复模型:允许将数据库恢复到最新的备份。 完全恢复模型:允许将数据库恢复到故障点状态。 大容量日志记录恢复模型:允许大容量日志记录操作。 .数据库恢复的策略 简单恢复模型:允许将数据库恢复到最新的备份。 完全恢复模型:允许将数据库恢复到故障点状态。 大容量日志记录恢复模型:允许大容量日志记录操作。

10.8 备份数据库 10.8.1 备份设备 在SQL Server2000中可以通过以下两种方法对备份设备进行管理: 使用企业管理器管理备份设备 使用系统存储过程管理备份设备 sp_addumpdevice [ @devtype = ] 'device_type' , [ @logicalname = ] 'logical_name' , [ @physicalname = ] 'physical_name' [ , { [ @cntrltype = ] controller_type | [ @devstatus = ] 'device_status' } ] 参数说明如下: [@devtype =] 'device_type':备份设备的类型,可以是disk、pipe和tape。 [@logicalname =] 'logical_name':备份设备的逻辑名称。 [@physicalname =] 'physical_name':备份设备的物理名称。物理名称必须遵照操作系统文件名称的规则或者网络设备的通用命名规则,并且必须包括完整的路径。

exec sp_dropdevice 'myDB_bak' 【任务10.27】使用存储过程在当前的数据库服务器上添加一个逻辑名为“myDB_bak”的磁盘备份设备,其物理名称为“D:\DataBaseBak\myDB_bak.BAK”。 exec sp_addumpdevice 'disk','myDB_bak','D:\DataBaseBak\myDB_bak.BAK‘ 4.使用存储过程删除备份设备 sp_dropdevice [ @logicalname = ] 'device' [ , [ @delfile = ] 'delfile' ] 参数说明: [@logicalname =] 'device':备份设备的逻辑名称。 [@delfile =] 'delfile':指出是否应该删除物理备份设备文件。delfile 的数据类型为 varchar(7)。如果将其指定为 DELFILE,那么就会删除物理备份设备磁盘文件。 【任务10.28】使用存储过程删除一个备份设备。 exec sp_dropdevice 'myDB_bak'

10.8.4 使用T-SQL 命令备份数据库 1.完全备份数据库 BACKUP DATABASE { database_name | @database_name_var } TO < backup_device > [ ,...n ] [ WITH options ] 参数说明: DATABASE:指定一个完整的数据库备份。假如指定了一个文件和文件组的列表,那么仅有这些被指定的文件和文件组被备份。 { database_name | @database_name_var }:指定了一个数据库,从该数据库中对事务日志、部分数据库或完整的数据库进行备份。 2.差异备份 BACKUP命令的语法格式如下: TO < backup_device > [ ,...n ] WITH DIFFERENTIAL [options] 关键字DIFFERENTIAL的作用是,通过它可以指定只对在创建最新数据库备份后数据中发生变化的部分进行备份。

3.事务日志备份 从最近一次日志备份以来所有事务日志备份到备份设备。日志备份经常与全库备份和差异备份结合使用。此种备份使用BACKUP命令的语法格式如下: BACKUP LOG { database_name | @database_name_var } { TO < backup_device > [ ,...n ] [ WITH options [ [ , ] NO_TRUNCATE ] [ [ , ] { NORECOVERY | STANDBY = undo_file_name } ] } 4.文件与文件组备份 当一个数据库很大时,对整个数据库进行备份可能花费很多时间,此时可采用文件和文件组备份。此种备份使用BACKUP命令的语法格式如下: BACKUP DATABASE { database_name | @database_name_var } < file_or_filegroup > [ ,...n ] TO < backup_device > [ ,...n ] [ WITH options ] 其中语句< file_or_filegroup >的形式为: < file_or_filegroup > ::= { FILE = { logical_file_name | @logical_file_name_var } | FILEGROUP = { logical_filegroup_name | @logical_filegroup_name_var } }

【任务10.31】 使用BACKUP命令将数据库myDB整个备份到备份设备myDB_bak。 USE myDB go BACKUP DATABASE myDB TO myDB_bak with name='myDB080416‘ 【任务10.32】在【任务10.31】的基础上,使用存储过程进行差异备份。 BACKUP DATABASE myDB TO myDB_bak WITH DIFFERENTIAL,name='myDB差异备份',NOINIT 【任务10.33】 对数据库myDB进行事务日志备份。 BACKUP LOG myDB TO myDB_bak WITH NOINIT 【任务10.34】将数据库myDB的cnc_nk_data文件备份到本地磁盘设备myfileback。 exec sp_addumpdevice 'disk','myfilebackup','D:\DataBaseBak\mymyfilebackup.BAK' BACKUP DATABASE myDB FILE='cnc_nk_data' TO myfilebackup

10.9 恢复数据库 当系统出现问题或者是出于某种原因,要对某个数据库进行恢复时必须具备该数据库的备份文件。在SQL Server2000系统中恢复数据库可以通过以下两种方法: 使用企业管理器恢复数据库 利用T-SQL语句恢复数据库 1.恢复整个数据库 RESTORE DATABASE { database_name | @database_name_var } [ FROM < backup_device > [ ,...n ] ] [ WITH [ RESTRICTED_USER ] [ [ , ] FILE = { file_number | @file_number } ] [ [ , ] PASSWORD = { password | @password_variable } ] [ [ , ] MEDIANAME = { media_name | @media_name_variable } ] [ [ , ] MEDIAPASSWORD = { mediapassword | @mediapassword_variable } ] [ [ , ] MOVE 'logical_file_name' TO 'operating_system_file_name' ][ ,...n ] [ [ , ] KEEP_REPLICATION ] [ [ , ] { NORECOVERY | RECOVERY | STANDBY = undo_file_name } ] [ [ , ] { NOREWIND | REWIND } ] [ [ , ] { NOUNLOAD | UNLOAD } ] [ [ , ] REPLACE ] [ [ , ] RESTART ] [ [ , ] STATS [ = percentage ] ] ]

2.恢复数据库的部分内容: 用户恢复部分数据库内容的RESTORE语句的语法格式如下: RESTORE DATABASE { database_name | @database_name_var } < file_or_filegroup > [ ,...n ] [ FROM < backup_device > [ ,...n ] ] [ WITH { PARTIAL } [ [ , ] FILE = { file_number | @file_number } ] [ [ , ] PASSWORD = { password | @password_variable } ] [ [ , ] MEDIANAME = { media_name | @media_name_variable } ] [ [ , ] MEDIAPASSWORD = { mediapassword | @mediapassword_variable } ] [ [ , ] MOVE 'logical_file_name' TO 'operating_system_file_name' ] [ ,...n ] [ [ , ] NORECOVERY ] [ [ , ] { NOREWIND | REWIND } ] [ [ , ] { NOUNLOAD | UNLOAD } ] [ [ , ] REPLACE ] [ [ , ] RESTRICTED_USER ] [ [ , ] RESTART ] [ [ , ] STATS [ = percentage ] ] ]

3.恢复特定的文件或文件组: 用户恢复特定文件或文件组的RESTORE语句的语法格式如下: RESTORE DATABASE { database_name | @database_name_var } < file_or_filegroup > [ ,...n ] [ FROM < backup_device > [ ,...n ] ] [ WITH [ RESTRICTED_USER ] [ [ , ] FILE = { file_number | @file_number } ] [ [ , ] PASSWORD = { password | @password_variable } ] [ [ , ] MEDIANAME = { media_name | @media_name_variable } ] [ [ , ] MEDIAPASSWORD = { mediapassword | @mediapassword_variable } ] [ [ , ] MOVE 'logical_file_name' TO 'operating_system_file_name' ][ ,...n ] [ [ , ] NORECOVERY ] [ [ , ] { NOREWIND | REWIND } ] [ [ , ] { NOUNLOAD | UNLOAD } ] [ [ , ] REPLACE ] [ [ , ] RESTART ] [ [ , ] STATS [ = percentage ] ] ]

4.恢复事务日志: 用户恢复事务日志的RESTORE语句的语法格式如下: RESTORE LOG { database_name | @database_name_var } [ FROM < backup_device > [ ,...n ] ] [ WITH [ RESTRICTED_USER ] [ [ , ] FILE = { file_number | @file_number } ] [ [ , ] PASSWORD = { password | @password_variable } ] [ [ , ] MOVE 'logical_file_name' TO 'operating_system_file_name' ] [ ,...n ] [ [ , ] MEDIANAME = { media_name | @media_name_variable } ] [ [ , ] MEDIAPASSWORD = { mediapassword | @mediapassword_variable } ] [ [ , ] KEEP_REPLICATION ] [ [ , ] { NORECOVERY | RECOVERY | STANDBY = undo_file_name } ] [ [ , ] { NOREWIND | REWIND } ] [ [ , ] { NOUNLOAD | UNLOAD } ] [ [ , ] RESTART ] [ [ , ] STATS [= percentage ] ] [ [ , ] STOPAT = { date_time | @date_time_var } | [ , ] STOPATMARK = 'mark_name' [ AFTER datetime ] | [ , ] STOPBEFOREMARK = 'mark_name' [ AFTER datetime ] ] ]

【任务10.36】使用存储过程恢复整个数据库myDB。 RESTORE DATABASE myDB FROM myDB_bak