SQL Server disaster recovery
文章平均质量分 76
KevinLiu
SQL Server MVP
展开
-
数据库修复Part1:创建自己的测试corrupt数据库
以前看Pual写过很多数据恢复的文章,他很多的测试都是自己创建的Corrupt数据库,其实我们自己也可以。 1. 创建数据库数据表插入数据:use master gocreate databasecorrupt use corrupt gocreate tabletest(IDint, namevarchar(10)) declare @in原创 2012-08-03 20:21:22 · 1345 阅读 · 0 评论 -
数据库修复Part2: 页面还原
上文我们已经新建了Corrupt的数据库,今天我们就用页面还原修复损坏的页面。 首先我们允许DBCC CHECKDB查看损坏的页面ID: DBCC CHECKDB withNO_INFOMSGS Msg 8928, Level 16,State 1, Line 1Object ID2105058535, index ID 0, partition ID 7205759原创 2012-08-04 12:03:05 · 1695 阅读 · 0 评论 -
数据库修复系列Part3:repair_allow_data_loss
运行DBCC CHECKDB withNO_INFOMSGS发现下面的错误: Table error: ObjectID 7, index ID 2, partition ID 562949953880064, alloc unit ID 562949953880064(type In-row data), page (1:54). Test ((m_type >= DATA_PAGE &原创 2012-08-05 10:16:12 · 5162 阅读 · 0 评论 -
数据库修复系列Part4:重建数据库日志文件
我们可能会遇到日志文件损坏或者被不小心删除的问题,导致数据库无法访问。在没有备份的情况下,可以用重建日志文件恢复数据库,但是可能会有数据丢失。 另外本篇文件还通过举例证明了日志文件的重要性(许多人说日志文件是可以删除的,这个是完全错误的)。 1. select * from Test(有两条记录1,2)查询结果:idTest-----------12 2.原创 2012-08-07 15:47:27 · 2974 阅读 · 0 评论 -
CHECKDB可以修复所有错误吗?
通常很多人觉得DBCC CHECKDB WITH REPAIR_ALLOW_DATA_LOSS可以修复数据库出现的问题,但是不一定。Pual的文章很详细的介绍了哪些情况下是无法修复的: In my previous post on interpreting CHECKDB output, plus in my DBCC Internals session at TechEd IT Fo转载 2012-08-03 14:50:12 · 3729 阅读 · 0 评论 -
为什么无法重建2005/2008数据库日志
曾经有客户发Email给我说数据库日志文件损坏了,有没有办法让数据库上线。因为当时没有备份(备份在这种情况下作用就体现出来了,一定要做备份),所以只能尝试重建日志,通过重建日志将数据库恢复了。 但是重建日志功能不是对于所有情况适用用的,要满足两个条件:· A clean shutdown of the database.· All data files原创 2012-09-15 20:39:56 · 3019 阅读 · 3 评论 -
SQLSERVER 服务无法启动Operating system error1117
SQL Server无法重启从错误日志中发现下面的错误: Operating system error 1117(由于 I/O设备错误,无法运行此项请求。) on file "C:\Program Files\Microsoft SQLServer\MSSQL10.MSSQLSERVER\MSSQL\DATA\mastlog.ldf" 这种问题大多是因为磁盘硬件错误导致SQLSer原创 2012-10-11 19:44:34 · 5537 阅读 · 0 评论