大雀软件园

首页 软件下载 安卓市场 苹果市场 电脑游戏 安卓游戏 文章资讯 驱动下载
技术开发 网页设计 图形图象 数据库 网络媒体 网络安全 站长CLUB 操作系统 媒体动画 安卓相关
当前位置: 首页 -> 数据库 -> MS_SQL -> 无日志恢复数据库

无日志恢复数据库

时间: 2021-08-13 作者:daque

数据库日记文献的误删或其余因为惹起数据库日记的破坏    本领一   1.兴建一个同名的数据库   2.再停掉sql server(提防不要辨别数据库)   3.用原数据库的数据文献掩盖掉这个兴建的数据库   4.再重启sql server   5.此时翻开企业处置器时会展示质疑,先尽管,实行底下的语句(提防窜改个中的数据库名)   6.实行后普遍就不妨考察数据库中的数据了,这时候,数据库自己普遍还要题目,处置方法是,运用   数据库的剧本创造一个新的数据库,并将数据导进去就行了.   use master   go   sp_configure ’allow updates’,1 reconfigure with override   go   update sysdatabases set status =32768 where name=’质疑的数据库名’   go   sp_dboption ’质疑的数据库名’, ’single user’, ’true’   go   dbcc checkdb(’质疑的数据库名’)   go   update sysdatabases set status =28 where name=’质疑的数据库名’   go   sp_configure ’allow updates’, 0 reconfigure with override   go   sp_dboption ’质疑的数据库名’, ’single user’, ’false’   go   本领二   工作的来由   昨天,体例处置员报告我,咱们一个里面运用数据库地方的磁盘空间不及了。我提防到数据库事变日记文献xxx_data.ldf文献仍旧延长到了3gb,所以我决定减少这个日记文献。过程中断数据库等操纵未果后,我犯了一个自加入行业此后的最大最笨拙的缺点:果然误简略了这个日记文献!厥后我看到一切论及数据库回复的作品上都说道:“不管怎样都要保护数据库日记文献生存,它至关要害”,以至微软以至有一篇kb作品讲怎样只靠日记文献回复数据库的。我真是不领会我其时候是如何想的?!   这下子坏了!这个数据库连不上了,企业处置器在它的左右写着“(质疑)”。并且最要命的,这个数据库历来没有备份了。我独一找获得的是迁徙半年前的其余一个数据库效劳器,运用倒是能用了,然而少了很多记载、表和保存进程。       没有功效的回复办法   附加数据库   _rambo讲过被简略日记文献中不生存震动日记时,不妨这么做来回复:   1,辨别被质疑的数据库,不妨运用sp_detach_db   2,附加数据库,不妨运用sp_attach_single_file_db   然而,很可惜,实行之后,sql server置疑数据文献和日记文献不符,以是没辙附加数据库数据文献。   dts数据导出   不行,没辙读取xxx数据库,dts wizard汇报说“初始化左右文爆发缺点”。   重要形式   怡红令郎讲过没有日记用来回复时,不妨这么做:   1,把数据库树立为emergency mode   2,从新创造一个log文献   3,把sql server 从新启用一下   4,把运用数据库树立成单用户形式   5,做dbcc checkdb   6,即使没有什么大题目就不妨把数据库状况改回去了,牢记别忘了把体例表的窜改选项关掉   我试验了一下,把运用数据库的数据文献移走,从新创造一个同名的数据库xxx,而后停掉sql效劳,把从来的数据文献再掩盖回顾。之后,依照怡红令郎的办法走。   然而,也很可惜,除去第2步除外,其余办法实行特殊胜利。怅然,重启sql server之后,这个运用数据库仍旧是质疑!   然而,让我欣喜的是,这么做之后,倒是不妨select数据了,让我大出一口吻。只然而,组件运用数据库时,汇报说:“爆发缺点:-2147467259,未能在数据库 ’xxx’ 中运转 begin transaction,由于该数据库居于侧目回复形式。”   最后胜利回复的十足办法   树立数据库为重要形式   停掉sql server效劳;   把运用数据库的数据文献xxx_data.mdf移走;   从新创造一个同名的数据库xxx;   停掉sql效劳;   把从来的数据文献再掩盖回顾;   运转以次语句,把该数据库树立为重要形式;   运转“use master   go   sp_configure ’allow updates’, 1   reconfigure with override   go”   实行截止:   dbcc 实行结束。即使 dbcc 输入了缺点消息,请与体例处置员接洽。   已将摆设选项 ’allow updates’ 从 0 改为 1。请运转 reconfigure 语句以安置。   接着运转“update sysdatabases set status = 32768 where name = ’xxx’”   实行截止:   (所感化的行数为 1 行)   重启sql server效劳;   运转以次语句,把运用数据库树立为single user形式;   运转“sp_dboption ’xxx’, ’single user’, ’true’”   实行截止:   吩咐已胜利实行。   ü 做dbcc checkdb;   运转“dbcc checkdb(’xxx’)”   实行截止:   ’xxx’ 的 dbcc 截止。   ’sysobjects’ 的 dbcc 截止。   东西 ’sysobjects’ 有 273 行,那些行坐落 5 页中。   ’sysindexes’ 的 dbcc 截止。   东西 ’sysindexes’ 有 202 行,那些行坐落 7 页中。   ’syscolumns’ 的 dbcc 截止。   ………   ü 运转以次语句把体例表的窜改选项关掉;   运转“sp_resetstatus "xxx"   go   sp_configure ’allow updates’, 0   reconfigure with override   go”   实行截止:   在 sysdatabases 中革新数据库 ’xxx’ 的条件之前,形式 = 0,状况 = 28(状况 suspect_bit = 0),   没有革新 sysdatabases 中的任何行,由于已精确地重置了形式和状况。没有缺点,未举行任何变动。   dbcc 实行结束。即使 dbcc 输入了缺点消息,请与体例处置员接洽。   已将摆设选项 ’allow updates’ 从 1 改为 0。请运转 reconfigure 语句以安置。   从新创造其余一个数据库xxx.lost;   dts导出引导   运转dts导出引导;   复制源采用emergencymode的数据库xxx,导出到xxx.lost;   采用“在sql server数据库之间复制东西和数据”,试了屡次,犹如不行,不过复制过来了一切表构造,然而没罕见据,也没有视图和保存进程,并且dts引导结果汇报复制波折;   以是结果采用“从源数据库复构图和视图”,然而厥后创造,如许老是只能复制一局部表记载;   所以采用“用一条查问指定要传输的数据”,缺哪个表记载,就导哪个;   视图和保存进程是实行sql语句增添的。   保护sql server中表的索引   在运用和创造数据库索引中常常会碰到少许题目,在这边不妨沿用少许另类的本领处置…   --第一步:察看能否须要保护,察看扫描密度/scan density能否为100%   declare @table_id int   set @table_id=object_id(’表名’)   dbcc showcontig(@table_id)   --第二步:重构表索引   dbcc dbreindex(’表名’,pk_索引名,100)   --重做第一步,如创造扫描密度/scan density仍旧小于100%则重构表的一切索引   --并不确定能达100%。   dbcc dbreindex(’表名’,’’,100)

热门阅览

最新排行

Copyright © 2019-2021 大雀软件园(www.daque.cn) All Rights Reserved.