DB2中可以使得数据库回复到指定的时间点,sql Server数据库的Recovery Model为full 或者Bulk copy的时候,是可以从日志来恢复数据库的。实际上日志中记录的一条一条的transact sql语句,恢复数据库的时候会redo这些sql语句。 前提条件:myBBS是数据库test中的一个表,数据库test的Recovery Model为Full,Auto Close,Auto Shrink两个选项未选中。数据库test的data files和log files均为默认的自动增长状态。
B:2004/10/14,13:00对数据库进行了update,delete等操作;
C:2004/10/15,18:00使用delete mybbs where id>300时,语句误写成delete mybbs,因而删除了表mybbs中的所有数据。
--备分日志:
BACKUP LOG test TO disK='d:\1820.logs' WITH INIT
--使用日志恢复数据库到10月15日17:59分:
RESTORE LOG test FROM disk='d:\1820.logs' WITH RECOVERY,STOPAT='10/15/2004 17:59'
上面的三条Transact sql语句的对应过程:
1.恢复数据库到A点;
Server 2005 联机丛书(2007 年 9 月)
执行数据库完整还原(完整恢复模式)
安全说明:
建议您不要从未知源或不可信源附加或还原数据库。这些数据库可能包含执行非预期 Transact-sql 代码的恶意代码,或通过修改架构或物理数据库结构导致错误。使用来自未知源或不可信源的数据库前,请在非生产服务器上针对数据库运行 DBCC CHECKDB,然后检查数据库中的代码,例如存储过程或其他用户定义代码。
还原完整数据库
通常,将数据库恢复到故障点分为下列基本步骤:
备份活动事务日志(称为日志尾部)。此操作将创建尾日志备份。如果活动事务日志不可用,则该日志部分的所有事务都将丢失。
重要提示:
在大容量日志恢复模式下,备份任何包含大容量日志操作的日志都需要访问数据库中的所有数据文件。如果无法访问该数据文件,则不能备份事务日志。在这种情况下,您必须手动重做自最近备份日志以来所做的所有更改。
重要提示:
在大容量日志恢复模式下,备份任何包含大容量日志操作的日志都需要访问数据库中的所有数据文件。如果无法访问该数据文件,则不能备份事务日志。在这种情况下,您必须手动重做自最近备份日志以来所做的所有更改。
有关详细信息,请参阅尾日志备份。
还原最新完整数据库备份而不恢复数据库 (RESTORE DATABASE database_name FROM backup_device WITH norECOVERY)。
如果存在差异备份,则还原最新的差异备份而不恢复数据库 (RESTORE DATABASE database_name WITH norECOVERY)。
从还原备份后创建的第一个事务日志备份开始,使用 norECOVERY 依次还原日志。
恢复数据库 (RESTORE DATABASE database_name WITH RECOVERY)。此步骤也可以与还原上一次日志备份结合使用。
数据库完整还原通常可以恢复到日志备份中的某一时间点或标记的事务。但是,在大容量日志恢复模式下,如果日志备份包含大容量更改,则不能进行时点恢复。有关详细信息,请参阅将数据库还原到备份中的某个时间点。
还原整个数据库时,应使用单一还原顺序。下面的示例说明还原顺序中用于将数据库还原到故障点的数据库完整还原方案的关键选项。还原顺序由通过一个或多个还原阶段来移动数据的一个或多个还原操作组成。将省略与此目的不相关的语法和详细信息。
还原最新完整数据库备份而不恢复数据库 (RESTORE DATABASE database_name FROM backup_device WITH norECOVERY)。
如果存在差异备份,则还原最新的差异备份而不恢复数据库 (RESTORE DATABASE database_name WITH norECOVERY)。
从还原备份后创建的第一个事务日志备份开始,使用 norECOVERY 依次还原日志。
恢复数据库 (RESTORE DATABASE database_name WITH RECOVERY)。此步骤也可以与还原上一次日志备份结合使用。
数据库完整还原通常可以恢复到日志备份中的某一时间点或标记的事务。但是,在大容量日志恢复模式下,如果日志备份包含大容量更改,则不能进行时点恢复。有关详细信息,请参阅将数据库还原到备份中的某个时间点。
还原整个数据库时,应使用单一还原顺序。下面的示例说明还原顺序中用于将数据库还原到故障点的数据库完整还原方案的关键选项。还原顺序由通过一个或多个还原阶段来移动数据的一个或多个还原操作组成。将省略与此目的不相关的语法和详细信息。
还原顺序的基本 RESTORE 语法是:
RESTORE DATABASE database FROM full database backup WITH norECOVERY;
RESTORE DATABASE database FROM full_differential_backup WITH norECOVERY;
RESTORE LOG database FROM log_backup WITH norECOVERY; 对于其他每个日志备份,重复此还原日志步骤。
RESTORE DATABASE database WITH RECOVERY;
示例
RESTORE DATABASE database FROM full_differential_backup WITH norECOVERY;
RESTORE LOG database FROM log_backup WITH norECOVERY; 对于其他每个日志备份,重复此还原日志步骤。
RESTORE DATABASE database WITH RECOVERY;
示例
对于以下示例,AdventureWorks 示例数据库已设置为在数据库备份之前使用完整恢复模式。此示例将创建 AdventureWorks 数据库的尾日志备份。接下来,示例将还原较早的完整数据库备份和日志备份,然后还原尾日志备份。示例将在最后的单独步骤中恢复数据库。
此示例以 ALTER DATABASE 语句开头,该语句将恢复模式设置为 FULL。
复制代码 USE master; --Make sure the database is using the full recovery model. ALTER DATABASE AdventureWorks SET RECOVERY FULL; GO --Create tail-log backup. BACKUP LOG AdventureWorks TO disK = 'Z:\sqlServerBackups\AdventureWorks.bak''Z:\sqlServerBackups\AdventureWorks.bak' WITH norECOVERY; GO --Restore the full database backup (from backup set 1). RESTORE DATABASE AdventureWorks FROM disK = 'Z:\sqlServerBackups\AdventureWorks.bak' WITH FILE=1, norECOVERY; --Restore the regular log backup (from backup set 2). RESTORE LOG AdventureWorks FROM disK = 'Z:\sqlServerBackups\AdventureWorks.bak' WITH FILE=2, norECOVERY; --Restore the tail-log backup (from backup set 3). RESTORE LOG AdventureWorks FROM disK = 'Z:\sqlServerBackups\AdventureWorks.bak' WITH FILE=3, norECOVERY; GO --recover the database: RESTORE DATABASE AdventureWorks WITH RECOVERY; GO
恢复到故障点
恢复到故障点
还原完整数据库备份
sqlserver 还原到时间点
www.firnow.com 时间 : 2008-07-06 作者:佚名 编辑:本站 点击: 632 [ 评论 ]
-
-
rs1_mainContentContainer_ctl25" |ctl00_rs1_mainContentContainer_ctl25',this);" href=" http://msdn.microsoft.com/zh-cn/library/ms189895.aspx">如何还原数据库备份 (Transact-sql)
如何还原数据库备份 (sql Server Management Studio)
如何通过现有的数据库备份创建新的数据库 (sql Server Management Studio)
还原差异数据库备份
www.firnow.com 时间 : 2008-07-06 作者:佚名 编辑:本站 点击: 632 [ 评论 ]
-
-
rs1_mainContentContainer_ctl25" |ctl00_rs1_mainContentContainer_ctl25',this);" href=" http://msdn.microsoft.com/zh-cn/library/ms189895.aspx">如何还原数据库备份 (Transact-sql)
如何还原数据库备份 (sql Server Management Studio)
如何通过现有的数据库备份创建新的数据库 (sql Server Management Studio)
还原差异数据库备份
还原数据备份之后,必须还原所有后续的事务日志备份,然后再恢复数据库。
sqlRestore
恢复到时间点
恢复到时间点
在 sql Server 2005 中,您可以还原使用 sql Server 7.0 版、sql Server 2000 或 sql Server 2005 创建的数据库备份。但是,sql Server 2005 无法还原使用 sql Server 7.0 或 sql Server 2000 创建的 master、model 和 msdb 备份。此外,包含创建索引操作的 sql Server 7.0 日志备份无法还原到 sql Server 2000 或 sql Server 2005。
sql Server 2005 使用与 sql Server 早期版本不同的默认路径。因此,若要从备份还原在 sql Server 7.0 或 sql Server 2000 的默认位置中创建的数据库,必须使用 MOVE 选项。有关新默认路径的信息,请参阅 sql Server 2005 的默认实例和命名实例的文件位置。
注意:
使用 sql Server 6.5 或早期版本创建的数据库备份采用的格式不兼容,无法在 sql Server 2005 中还原。有关如何将使用 sql Server 6.5 或早期版本创建的数据库升级到 sql Server 2005 的信息,请参阅从 sql Server 6.5 或更早版本复制数据库。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。