`
java-mans
  • 浏览: 11341244 次
文章分类
社区版块
存档分类
最新评论

数据库修复系列Part4:重建数据库日志文件

 
阅读更多

我们可能会遇到日志文件损坏或者被不小心删除的问题,导致数据库无法访问。在没有备份的情况下,可以用重建日志文件恢复数据库,但是可能会有数据丢失。 另外本篇文件还通过举例证明了日志文件的重要性(许多人说日志文件是可以删除的,这个是完全错误的)。

1. select * from Test(有两条记录1,2)

查询结果:

idTest

-----------

1

2

2. 更新一条记录(将1更改为3),但是不提交事务。

begin tran

update Test set idTest=3where idTest = 1

checkpoint

select * from Test

查询结果:

idTest

-----------

2

3

(2 row(s) affected)

3.关闭SQL Server服务器

4.删掉ldf文件重启Service,并且访问数据库会得到下面的错误:

Msg 945, Level 14, State 2,Line 2

Database 'FNDBLogTest' cannotbe opened due to inaccessible files or insufficient memory or disk space. See the SQL Server errorlog for details.

5.重建日志文件:

ALTER DATABASE FNDBLogTestREBUILDLOGON (NAME=FNDBLogTest_Log,

FILENAME='D:\ProgramFiles\Microsoft SQL Server\MSSQL10_50.R2\MSSQL\DATA\FNDBLogTest_Log.ldf')

Warning: The log for database'FNDBLogTest' has been rebuilt. Transactional consistency has been lost.The RESTORE chain was broken, and the server no longer has context on theprevious log files, so you will need to know what they were. You should run DBCCCHECKDB to validate physical consistency. The database has been put in dbo-onlymode. When you are ready to make the database available for use, you will needto reset database options and delete any extra log files.

6.查询test表数据:

select * from Test

idTest

-----------

2

3

(2row(s) affected)

注意:这里我们看到数据是3而不是1,跟我们期望的数据是不一致的。因为数据库关闭时事务还没有提交,正确的值应该是1.所以SQL Server的日志文件是非常重要的,不能随便删除。 SQL Server是利用日志文件做REDO/UNDO。重建日志只是建造一个正确的日志结构文件但是数据是空的(查看SQL Server事务可以参考我前面的两篇博客

所以重建日志文件是在没有备份的情况下才会尝试的方法。

最后我们还需要运行DBCC CHECKDB检查数据库完整性:

USE FNDBLogTest

GO

DBCC CHECKDB WITHNO_INFOMSGS

分享到:
评论

相关推荐

    数据库重构.part4

    数据库重构.part4数据库重构.part4数据库重构.part4

    C#2008数据库入门经典(第4版).part4

    C#2008数据库入门经典(第4版).part4 http://download.csdn.net/source/3008635 C#2008数据库入门经典(第4版).part5 http://download.csdn.net/source/3008799 C#2008数据库入门经典(第4版).part6 ...

    C#2008数据库入门经典(第4版).part6

    C#2008数据库入门经典(第4版).part4 http://download.csdn.net/source/3008635 C#2008数据库入门经典(第4版).part5 http://download.csdn.net/source/3008799 C#2008数据库入门经典(第4版).part6 ...

    C#2008数据库入门经典(第4版).part2

    C#2008数据库入门经典(第4版).part4 http://download.csdn.net/source/3008635 C#2008数据库入门经典(第4版).part5 http://download.csdn.net/source/3008799 C#2008数据库入门经典(第4版).part6 ...

    C#2008数据库入门经典(第4版).part7

    C#2008数据库入门经典(第4版).part4 http://download.csdn.net/source/3008635 C#2008数据库入门经典(第4版).part5 http://download.csdn.net/source/3008799 C#2008数据库入门经典(第4版).part6 ...

    C#2008数据库入门经典(第4版).part5

    C#2008数据库入门经典(第4版).part4 http://download.csdn.net/source/3008635 C#2008数据库入门经典(第4版).part5 http://download.csdn.net/source/3008799 C#2008数据库入门经典(第4版).part6 ...

    C#2008数据库入门经典(第4版).part3

    C#2008数据库入门经典(第4版).part4 http://download.csdn.net/source/3008635 C#2008数据库入门经典(第4版).part5 http://download.csdn.net/source/3008799 C#2008数据库入门经典(第4版).part6 ...

    《SQL Server 2005数据库系统开发案例精选》part1

    书名:《SQL Server 2005数据库系统开发案例精选》 出版社:人民邮电出版社 页数:443 (页) ISBN:978-7-115-16149-9 字数:718 (千字) ...part4: http://download.csdn.net/source/2896660

    C# 2008数据库入门经典(第4版)PDF中文电子书par1

    C#2008数据库入门经典(第4版).part4 http://download.csdn.net/source/3008635 C#2008数据库入门经典(第4版).part5 http://download.csdn.net/source/3008799 C#2008数据库入门经典(第4版).part6 ...

    百度地图纠偏数据库Part4

    百度地图纠偏数据库,精确到0.01度,中国大陆地区,SQL SERVER 2005备份文件,由于受允许上传的文件大小限制,只能传60M以内的,故拆分成5个文件,只是part4,使用方法参见: ...

    国外计算机科学教材系列 电子电路设计part4

    《国外计算机科学教材系列 电子电路设计》 分为4个压缩包 国外计算机科学教材系列 电子电路设计part1:...国外计算机科学教材系列 电子电路设计part4:http://download.csdn.net/source/2128640

    数据库重构.part1

    数据库重构.part1数据库重构.part1数据库重构.part1数据库重构.part1

    数据库重构.part2

    数据库重构.part2数据库重构.part2数据库重构.part2数据库重构.part2

    数据库重构.part3

    数据库重构.part3数据库重构.part3数据库重构.part3数据库重构.part3

    Oracle数据库客户端管理器part4

    因要从客户端管理Oracle数据库,从网上找了N种方法,不是太麻 烦,就是不好用。经过几个不眠之夜,终于搞定一套组合:Oracle in stantclient 11.2+PLSQL Developer8.0.4 绿色中文破解版。姑且命 名为:Oracle数据库...

    图数据库介绍:图数据库的发展与优势.pptx

    Part 01 何为图数据库 图数据库介绍:图数据库的发展与优势全文共21页,当前为第3页。 在说图数据库之前需要先了解下什么是图。形式上,图是点和边的组合;术语上,图是「一些节点」和「关联这些节点的联系」的组合...

    数据库系统概念part4

    数据库系统概念第五版扫描版分段上传 part4

    海量数据库解决方案part4.pdf

    《海量数据库解决方案》系列丛书深受广大读者的喜爱已经长达10年之久,在被誉为“圣经”的同时,它已经变成了数据库用户不可或缺的必读书籍。作者竭力探求能够让IT工作者在实际工作中轻松应用并掌控的巧妙方法,...

    数据库系统概念part10

    数据库系统概念part10 数据库系统概念part10 数据库系统概念part10

    《SQL Server 2005数据库系统开发案例精选》part4

    《SQL Server 2005数据库系统开发案例精选》part4 上传权限太小,分成了4份,都不要分 part1: http://download.csdn.net/source/2896647 part2: http://download.csdn.net/source/2896656 part3: ...

Global site tag (gtag.js) - Google Analytics