问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

数据库置疑了怎么处理?

发布网友 发布时间:2022-04-08 22:10

我来回答

3个回答

懂视网 时间:2022-04-09 02:31

附加数据库出现日志问题导致的质疑

技术分享

技术分享

技术分享

对于事务 ID (0:7597567),无法在数据库 ‘yyyy‘ (数据库 ID 为 10)的页 (1:119539) 上

 

重做日志记录 (96116:41:32)。页: LSN = (96079:253:17),类型 = 2。日志: 操作码 = 2

 

,上下文 3,上一页的 LSN: (96115:486:32)。请从数据库备份还原该数据库,或者修复它

 

在重做数据库 ‘yyyy‘ 的日志中记录的操作时,日志记录 ID (96116:41:32) 出错。通常,

 

特定故障以前会在 Windows 事件日志服务中记录为错误。请利用完整备份还原数据库,或者

 

修复该数据库。

无法打开新数据库 ‘yyyy‘。CREATE DATABASE 中止。 (.Net SqlClient Data Provider)

通过 16进制转换图片的报错页码是10进制的 但是lsn里头是16进制,用计算机转换后确定出错页码 ,对应修复日志就行。完美解决。

附加数据库出现日志问题导致的质疑

标签:

热心网友 时间:2022-04-08 23:39

解决由于sql2000日志文件引起的“置疑”。
日志有错误--------重新附加提示日志有错误。
日志文件丢失-----丢失了.ldf文件,只有.mdf文件的数据库重建。

步骤:
一、备份“置疑”数据库的数据文件,因为日志文件.ldf出错,可以只备份.mdf文件。

二、打开企业管理器(SQL Server Enterprise Manager),删除“置疑”数据库,如果提示删除错误,可以重启数据库服务器,然后再试。

三、在企业管理器中,新建同名数据库(假如数据库为test),注意建立的数据库名称,还有数据文件名要保持和原数据库一致。

四、停止数据库服务器。

五、将刚才新建数据库生成的数据库的日志文件test_log.ldf删除,用要恢复的数据库.mdf文件覆盖刚才生成的数据库数据文件test_data.mdf。

六、启动数据库服务器。此时会看到数据库test的状态为“置疑”。这时候不能对此数据库进行任何操作。

七、设置数据库允许直接操作系统表。此操作可以在企业管理器(SQL Server Enterprise Manager)里面选择数据库服务器,按右键,选择“属性”,在“服务器设置”页面中将“允许对系统目录直接修改”一项选中。也可以使用如下语句来实现。
use master
go
sp_configure 'allow updates',1
go
reconfigure with override
go

八、设置test为紧急修复模式 。
update sysdatabases set status=-32768 where dbid=DB_ID('test')
此时可以在企业管理器(SQL Server Enterprise Manager)里面看到该数据库处于“只读\置疑\脱机\紧急模式”可以看到数据库里面的表,但是仅仅有系统表。

九、下面执行真正的恢复操作,用dbcc rebuild_log命令来重建数据库日志文件(重建路径根据你实际的数据库路径来)。
dbcc rebuild_log('test','C:\Program Files\Microsoft SQL Server\MSSQL\Data\test_log.ldf')

执行过程中,如果遇到下列提示信息:
服务器: 消息 5030,级别 16,状态 1,行 1
未能排它地锁定数据库以执行该操作。
DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。

说明您的其他程序正在使用该数据库,如果刚才您在八步骤中使用企业管理器打开了test库的系统表,那么退出企业管理器就可以了。
正确执行完成的提示应该类似于:
警告: 数据库 'test' 的日志已重建。已失去事务的一致性。应运行 DBCC CHECKDB 以验证物理一致性。将必须重置数据库选项,并且可能需要删除多余的日志文件。
DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。
此时打开在企业管理器里面会看到数据库的状态为“只供DBO使用”。此时可以访问数据库里面的用户表了。

十、验证数据库一致性。(次步骤可省略)
dbcc checkdb('test')
一般执行结果如下:
CHECKDB 发现了 0 个分配错误和 0 个一致性错误(在数据库 'test'中)。
DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。

十一、设置数据库为正常状态
sp_dboption 'test','dbo use only','false'
如果没有出错,那么恭喜,现在就可以正常的使用恢复后的数据库啦。

十二、最后一步,我们要将步骤七中设置的“允许对系统目录直接修改”一项恢复。因为平时直接操作系统表是一件比较危险的事情。当然,我们可以在企业管理器里面恢复,也可以使用如下语句完成
sp_configure 'allow updates',0
go
reconfigure with override
go
对于只有.mdf文件的sql2000数据库恢复,从第三步开始做就行了。

最好的方法为先分离然后附加看下

1.我们SQL SERVER企业管理器新建立一个供恢复使用的同名数据库(注意:要跟问题数据库同名,本例中为myDb)。
2.停掉数据库服务器。
3.将刚才生成的数据库的日志文件myDb_log.ldf删除(本例中的示列数据库名,实际使用您自己的数据库名称),用刚才备份的数据库mdf文件覆盖新生成的数据库数据文件myDb_data.mdf。
4.启动数据库服务器。此时会看到数据库myDb的状态为“置疑”。这时候不能对此数据库进行任何操作。
5.设置数据库允许直接操作系统表。此操作可以在SQL Server Enterprise Manager里面选择数据库服务器,按右--键,选择“属性”,在“服务器设置”页面中将“允许对系统目录直接修改”一项选中。也可以使用如下语句来实现。
use master
go
sp_configure 'allow updates',1
go
reconfigure with override
go F.设置myDb为紧急修复模式
在查询管理器里设置如下命令:

update sysdatabases set status=-32768 where dbid=DB_ID('stib')此时可以在SQL Server Enterprise Manager里面看到该数据库处于“只读\置疑\脱机\紧急模式”可以看到数据库里面的表,但是仅仅有系统表
6.下面执行真正的恢复操作,重建数据库日志文件
dbcc rebuild_log('stib','E:\zz\stib_log.ldf')警告: 数据库 'myDb' 的日志已重建。已失去事务的一致性。应运行 DBCC CHECKDB 以验证物理一致性。将必须重置数据库选项,并且可能需要删除多余的日志文件。
DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。
此时打开在SQL Server Enterprise Manager里面会看到数据库的状态为“只供DBO使用”。此时可以访问数据库里面的用户表了。
7.验证数据库一致性(可省略)
dbcc checkdb('stib')一般执行结果如下:
CHECKDB 发现了 0 个分配错误和 0 个一致性错误(在数据库 'myDb' 中)。

DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。

sp_dboption 'stib','single user','true'--设置为单用户

dbcc checkdb('stib','REPAIR_ALLOW_DATA_LOSS')--这个语句可能执行几遍之后有效

sp_dboption 'stib','single user','false'--取消单用户
8.设置数据库为正常状态
sp_dboption 'stib','dbo use only','false'

9.最后一步,我们要将步骤E中设置的“允许对系统目录直接修改”一项恢复。因为平时直接操作系统表是一件比较危险的事情。当然,我们可以在SQL Server Enterprise Manager里面恢复,也可以使用如下语句完成
sp_configure 'allow updates',0
go
reconfigure with override
go

到此数据库置疑问题解决。

热心网友 时间:2022-04-09 00:57

方法1 选择分离数据库如果数据库是test 2 删除出问题的日志 3 附加数据库,会提示缺少日志问题 是否新建 选择是 4 数据库附加完成 数据库可以使用
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
高考为什么不能补报志愿? 帮我翻译一句话“不管多久以后,不管世界变成什么样子,我都是哪个最骄傲... 温州到周口的大巴车经过台州路桥客运中心那里吗? 微信怎么设置看不到微信号 不想让微信号显示出来怎么办 2021年大学教师资格证报名费用 大埔教师资格证报名网 大埔县教育局办教师资格证需要准备哪些资料? 深情触摸2016百度云链接 求深情触摸百度云分享 宝马X1怎么挂档图解 有没有人用过陌陌,在上面找朋友可靠吗?还有交友软件哪个比较好呢? 求最简单的肉末茄子的做法,看了好多介绍,都是又是生抽又是老抽,还料酒,豆瓣酱,色拉油,生粉什么的, 操作系统在哪些方面提高了系统效率和方便用户使用? 系统性能优化为什么能提高系统效率 马苏里拉奶酪排怎么炒的做法 陌陌和聊聊哪个聊天软件更好用? 如何提高系统的运行效率 电脑最近系统运转很慢,要怎样可以提高系统的工作效率? 想要做好吃的肉末茄子,除了酱油,应该加上哪种调料? 怎么做地心传送门? 操作系统怎样提高系统效率 成都市到青白江的公交车好久通车 苏拉玛交世界任务的npc怎么没有 魔兽世界地底之王达古尔怎么打丨WOW7.0地底之王达古尔通关攻略 魔兽世界7.0苏拉玛任务线怎么开启苏拉玛任务攻略 该案例反映出该市市政管理中存在着什么样的问题及应该如何处理 精妙的传送艺术任务 歪斜的传送道标在哪 精妙的传送艺术任务在哪接 怎么做任务详解 魔兽世界7.0精妙的传送艺术任务怎么做 歪斜的传送道标如何完成 密伴聊天软件这么样 中级会计每科考试时间安排是怎样的? 交通银行信用卡的分期手续费是多少比如消费10000分24期每个月还多少 简易注销公示期满后应该怎么做 朋友圈骂朋友忘恩负义的句子 注销公示完了怎么办 渠道经理自我评价,自我介绍怎么写 信用卡怎样可以办理分期付款,手续费是多少?我是交行的信用卡。 作为一名分公司经理如何在分销会快速自我介绍? 老师,请问一下,公司简易注销公示期完后,已经过了期了,后面应该怎么做 中华骏捷喇叭一会响一会不响的原因 中华骏捷FRV音响无声音,播放等其他功能都正常,请高手赐教。 中华骏捷frv后排坐音响俩喇叭不响怎么回事 中华骏捷汽车方向盘喇叭一侧不响怎么维修 为什么?车子喇叭不响 汽车的喇叭不响是什么问题? 中华骏捷Frv开空调吱吱响!加油门又不响!不开空调也不会响!什么原因? 中华骏捷FRV 汽车音响升级 中华骏捷frv怎样调节音响的前后左右声道 中华骏捷FRV怎么样