如何通过trn日志文件恢复SQL Server 事务日志 还原 备份

首先恢复时一个完整的备份,但在完整的备份里一定要选择with nonerecovery(企业管理器里选项中是第2项)

sql 语句是:

restore database mydata from disk = ‘c:\temp\movedb.bak‘  with norecovery

这时数据库就会变成恢复模式,这样你就可以一条一条的把trn文件添加进行恢复了.

语句是:

restore log Mydata from disk = 
  "D:\Program Files\Microsoft SQL Server\MSSQL\BACKUP\data\data_tlog_200407290022.TRN" 
  with norecovery

当你恢复到你想要的数据时,再把数据库变成正常的模式就可以.

语句为:

restore log Mydata from disk = 
  "D:\Program Files\Microsoft SQL Server\MSSQL\BACKUP\data\data_tlog_200407290022.TRN" 
  with recovery

这样就可以在你的备用的机器上把数据恢复到某个时间点了.

/* 下面使用游标示例 */
declare @pathname varchar(200)
DECLARE vendor_cursor CURSOR FOR SELECT ‘D:\XXXX\WWWW\‘+ttttt FROM test 
OPEN vendor_cursor
FETCH NEXT FROM vendor_cursor INTO @pathname
WHILE @@FETCH_STATUS = 0
 BEGIN    
   restore log Mydata from disk = @pathname  with norecovery
    FETCH NEXT FROM vendor_cursor  INTO @pathname
 END 
CLOSE vendor_cursor

原文地址:http://www.jianfangkk.com/sqlserver/201601/275

时间: 2025-01-02 04:05:30

如何通过trn日志文件恢复SQL Server 事务日志 还原 备份的相关文章

SQL Server事务日志分析

SQL Server事务日志分析 fn_dblog()和fn_dump_dblog()函数介绍 SQL Server有两个未公开的函数fn_dblog()和fn_dump_dblog()非常有用并且提供的信息量很大.你可以使用这些函数来获取100多列大量的有用信息. fn_dblog()用于分析数据库当前的事务日志文件,它需要两个参数,分别为事务开始LSN和结束LSN,默认为NULL,表示返回事务日志文件的所有日志记录. 例如: SELECT * FROM fn_dblog(null,null)

翻译:SQL Server事务日志管理的阶段,1级:事务日志概述

原文链接:http://www.sqlservercentral.com/articles/Stairway+Series/73775/ 原文作者: Tony Davis, 2013/10/30 (第一次出版: 2011/06/17) 该系列 本文是SQL Server中"Stairway系列:事务日志管理的阶梯"的一部分 当事情进展顺利的时候,没有必要特别意识到事务日志的作用或工作原理. 你只需要确信每个数据库都有正确的备份机制. 当事情出错时,对事务日志的理解对于采取纠正措施是非常

Sql Server 事务日志

Sql Server事务日志文件是数据库文件的重要组成部分,事务日志主要用来存放数据库的修改记录.数据库为了得到更高的写入效率和性能,同时保证ACID特性,数据在写入时,会将更新先写入事务日志,因为事务日志是连写的,所以写事务会比较快.简单来说,顺序写入时,磁盘的磁头会保持在一定的区域内连续写入,而数据写入数据文件时,有随机性,磁盘的磁头移动消耗的时间要比数据写入日志文件时多. Sql Server对于事务日志文件的管理,是将日志文件在逻辑上分成若干个文件(VLFS),方便管理. 创建一个1M的

Sql Server 事务日志(三)

SQL server的日志文件会随着数据修改的增加而变大,在处理日志文件时,我们常用的方式是将日志截断,并收缩. Backup log databasename to disk='' dbcc shrinkfile(databasename_log) 当然,如果磁盘空间紧张,可以将恢复模式改成‘simple’的方式使日志截断,然后再收缩日志 alter database test set recovery simple; DBCC shrinkfile(test_log) alter datab

人人都是 DBA(VI)SQL Server 事务日志

SQL Server 的数据库引擎通过事务服务(Transaction Services)提供事务的 ACID 属性支持.ACID 属性包括: 原子性(Atomicity) 一致性(Consistency) 隔离性(Isolation) 持久性(Durability) 事务日志(Transaction Log) 事务日志(Transaction Log)存储的是对数据库所做的更改信息,让 SQL Server 有机会恢复数据库.而恢复(Recovery)的过程就是使数据文件与日志保持一致的过程.

数据文件 和日志文件 收缩 Sql Server

A. 将数据文件收缩到指定的目标大小 以下示例将 UserDB 用户数据库中名为 DataFile1 的数据文件的大小收缩到 7 MB. 复制 USE UserDB; GO DBCC SHRINKFILE (DataFile1, 7); GO B. 将日志文件收缩到指定的目标大小 以下示例将 AdventureWorks2008R2 数据库中的日志文件收缩到 1 MB.若要允许 DBCC SHRINKFILE 命令收缩文件,首先需要通过将数据库恢复模式设置为 SIMPLE 来截断该文件. 复制

SQL Server中的事务日志管理(1/9):事务日志概况

当一切正常时,没有必要特别留意什么是事务日志,它是如何工作的.你只要确保每个数据库都有正确的备份.当出现问题时,事务日志的理解对于采取修正操作是重要的,尤其在需要紧急恢复数据库到指定点时.这系列文章会告诉你每个DBA应该知道的具体细节. 事务日志是存储对应数据库所有事务和数据修改记录的文件(每个数据库都有对应的日志文件).在造成SQL Server意外关闭的灾难事件里,例如实例或硬件故障,事务日志用来恢复数据库,用来保证数据的完好无损(完整性).在重启前,数据库进入恢复过程,事务日志被读取保证所

SQL Server 2005 日志文件过大处理

由于安装的时候没有计划好空间,默认装在系统盘,而且又没有做自动备份.截断事务日志等,很快LDF文件就达到十几G,或者几十G ,此时就不得不处理了. 备份和计划就不说了,现在就说下怎么把它先删除吧: 1:先分离数据库 2:为了保险,先不要删除,把LDF文件重命名下 3:附件数据库. 4:OK. 以上可能遇到的问题: 1:有用户连接,无法分离(勾选“断开所有连接”) 2:附件数数据库的时候提示找不到LDF文件,不要慌,在附件的时候,把LDF的路径一项删除,然后点击"确定",这样就附件成功了

[SQL Server] 数据库日志文件自动增长导致连接超时的分析

1.现象.问题描述 客户反映某客户端登陆不了,客户端程序日志显示“连接数据库超时”:检查对应的数据库服务器,日志显示“Autogrow of file '某数据库日志文件' in database '某数据库' was cancelled by user or timed out after 2391 milliseconds.  Use ALTER DATABASE to set a smaller FILEGROWTH value for this file or to explicitly