200 likes | 354 Views
数据库原理与 SQL Server. 第 18 课 数据库复制与恢复. 第 18 课 数据库的复制与恢复. 目标: 掌握数据库的分离和附加 掌握数据库的备份和还原 掌握数据库数据的导入和导出. 7.1 数据库的分离与附加. 如何将数据库从一个服务器复制到另一服务器上. 分离数据库:逻辑删除数据库,即数据库文件完好. 附加数据库:将数据库文件对应数据库加入服务器. 一、分离数据库. 1. 使用 SQL-EM SQL-EM → 数据库→右键→所有任务→分离数据库. 2. 使用 SQL 语句
E N D
数据库原理与SQL Server 第18课 数据库复制与恢复
第18课 数据库的复制与恢复 目标: • 掌握数据库的分离和附加 • 掌握数据库的备份和还原 • 掌握数据库数据的导入和导出
7.1 数据库的分离与附加 如何将数据库从一个服务器复制到另一服务器上 分离数据库:逻辑删除数据库,即数据库文件完好 附加数据库:将数据库文件对应数据库加入服务器
一、分离数据库 1. 使用SQL-EM SQL-EM→数据库→右键→所有任务→分离数据库 2. 使用SQL语句 • 语句格式:sp_detach_db '<数据库名>'
二、附加数据库 1. 使用SQL-EM SQL-EM→数据库→右键→所有任务→附加数据库 2. 使用SQL语句 语句格式:sp_attach_db '<数据库名>’, • '<数据文件名>', '<事务日志文件名>'
三、转移数据库 实例 转移数据库student至另一数据库服务器 方法一:在原服务器上保留原数据库 方法二:在原服务器上不保留原数据库
7.2 数据库的备份与还原 为保证数据的安全性,必须定期备份数据库,当数据库损坏或系统崩溃时通过备份还原数据库。
一、备份数据库 备份设备:disk(硬盘文件)、tape(磁带)、pipe(命名管道) 完全备份: • 差异备份: • 事务日志备份: 创建备份设备,通常为文件 完全备份→差异备份 备份类型 完全备份→事务日志备份 差异备份和事务日志备份的基础是完全备份
使用SQL-EM 创建备份设备: SQL-EM→管理→备份→右键→新建备份设备 创建备份: SQL-EM→数据库→右键→所有任务→备份数据库 注意 备份应考虑系统数据库 备份是动态的,允许继续使用数据库
使用SQL语句 创建备份设备: sp_addumpdevice '<设备类型>', '<备份设备名>', '<物理文件>' 数据库完全备份: BACKUP DATABASE <数据库> TO <备份设备名> 数据库差异备份: <数据库完全备份> + WITH DIFFERENTIAL 事务日志备份: BACKUP LOG <数据库> TO <备份设备名> 实例备份数据库student 删除备份设备:sp_dropdevice '<备份设备名>', '<物理文件>'
二、还原数据库 简单还原: • 完全还原: • 大容量日志记录还原: 仅使用完全备份或差异备份 使用数据库备份和事务日志备份 还原模型 性能优于完全还原 设置还原模型:SQL-EM→数据库→右键→属性
使用SQL-EM SQL-EM→数据库→右键→所有任务→还原数据库 注意 使用数据库时不允许还原
使用SQL语句 从数据库备份中还原: RESTORE DATABASE <数据库名> FROM <备份设备名> [WITH NORECOVERY] 从事务日志备份中还原: RESTORE LOG <数据库名> FROM <备份设备名> [WITH NORECOVERY] 按指定时间点还原: RESTORE LOG <数据库名> FROM <备份设备名> WITH RECOVERY,STOPAT='<日期> <时间>' 表明数据库还原操作未执行完毕, 等待下一条不带该参数的还原语句 实例 还原数据库student 实例按指定时间点还原
还原系统数据库 1 . 可以启动SQL Server服务 按还原用户数据库的方式还原系统数据库 2 . 不能启动SQL Server服务 ●运行“<安装位置>\80\Bin\rebuildm.exe”重建Master ●启动SQL Server服务 ●按Master、Msdb、Model的顺序还原系统数据库
三、数据库维护计划 概念:自动定期执行维护任务,防止延误维护工作。 数据优化 • 数据库完整性检查 • 数据库备份 • 日志传送 内容 实例 制定数据库维护计划,每周星期一至五下午6点自动备份student的数据文件和事务日志文件。 要自动执行数据库维护计划,必须启动SQL Server代理 SQL-EM→SQL Server代理→右键→启动
7.3 数据库数据的导入与导出 SQL Server 数据格式 其他 数据格式 导出 导入
一、数据导入与导出 1. 数据导出 SQL-EM→数据库→右键→所有任务→导出数据 实例 SQL Server数据库数据导入Access数据库 • 2. 数据导入 SQL-EM→数据库→右键→所有任务→导入数据 实例 Access 数据库数据导入SQL Server数据库
二、转移数据库 1. 复制数据库结构 2. 导出数据库数据 3. 创建数据库 4. 生成数据库结构 5. 导入数据库数据 注意 与附加数据库的区别:整体数据库与指定表
作业 第七章 习题 1、2、3、4、5、6、7、8、9、10、11
实训 实训名称:数据库数据的复制与恢复 目的要求:掌握SQL Server 2000中有关数据库数据的复制与恢复的相关方法 操作步骤: ① 使用SQL-EM分离数据库student。 ② 删除数据库student。 ③ 使用SQL-EM附加数据库student。 ④ 使用SQL语句创建DISK类型备份设备,备份设备名为“<班级>_<学号>_bak”,物理文件为D盘<班级>_<学号>文件夹下“<班级>_<学号>_bak.bak”。 ⑤ 在数据库student中任意创建表“<班级>_<学号>_t”。 ⑥ 使用T-SQL语句将数据库student完全备份至备份设备“<班级>_<学号>_bak”上。 ⑦ 删除表“<班级>_<学号>_t”。 ⑧ 使用T-SQL语句从备份设备“<班级>_<学号>_bak”上还原数据库student。 ⑨ 制定数据库维护计划,数据库维护计划名为“<班级>_<学号>”,用于每周五下午6点自动备份数据库student的数据文件和事务日志文件。其中,备份文件保存在D盘<班级>_<学号>文件夹下,维护报告以文本文件形式也保存在D盘<班级>_<学号>文件夹下。 ⑩ 将数据库student表“<班级>_<学号>_s”的数据导入D盘<班级>_<学号>文件夹下Excel文件“<班级>_<学号>”。