南京西数提供电子取证,数据恢复,司法鉴定,手机取证,图像鉴定,声纹鉴定,解决方案.电话 4006184118

 找回密码
 注册

微信扫码登录

使用验证码登录

QQ登录

只需一步,快速开始

西数司法抖音作品假冒伪劣翻新产品质量纠纷鉴定聊天记录数据恢复电子取证调查图像真伪人像同一性鉴定
南京声音克隆伪造声纹鉴定Flash Extractor软件升级更新下载中数安盟-数据恢复专家南京司法鉴定

数据库修复技术

[复制链接]
发表于 2013-7-24 10:42:48 | 显示全部楼层 |阅读模式
29.

sp_dboption '
置疑的数据库名
', 'single user', 'false'   

30.

   
31.

Go   
  
无日志恢复
SQL Server
数据库方法二

没有效果的恢复步骤
  
附加数据库
_Rambo
讲过被删除日志文件中不存在活动日志时,可以这么做来恢复
:
1
,分离被置疑的数据库,可

以使用
sp_detach_db
2
,附加数据库,可以使用
sp_attach_single_file_db  
但是,很遗憾,执行之后,
SQL Server
质疑数据文件和日志文件不符,所以无法附加数据库数
据文件。

DTS
数据导出
  
不行,无法读取
XXX
数据库,
DTS Wizard
报告说

初始化上下文发生错误



紧急模式
  
怡红公子讲过没有日志用于恢复时,可以这么做
:
1
,把数据库设置为
em
ergency m
ode
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
服务
;  
把原来的数据文件再覆盖回来
;  
运行以下语句,把该数据库设置为紧急模式
;
运行
  
1.

Use Master   
2.

   
3.

Go   

4.

     
5.

sp_configure 'allow updates', 1   

6.

     
7.

reconfigure with override   

8.

   
9.

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)  
  
利用第三方软件恢复数据库推荐软件:

国内

软件
  
软件名称


SQL
数据库修复软件
3.52
  
主页






WWW.SZWISEGO.COM

  
下载地址


http://nj.onlinedown.net/SOFT/105406.htm

  
特点

对数据库置疑


823
报错


日志报错

灯故障修复能力极强,
这个软件对页撕裂,
文件
头无效的报错修复也是很完美,不过可惜作者不出售软件,只提供服务。

试用版可以预览
导数据。

  
国外软件

  
推荐

Kernel Recovery for SQL  
是一个
SQL
数据库恢复工具,可以支持微软
SQL
Server
2000

2005
。它功能强大,使用
方便,采用了
QFSCI
算法可以对损坏的数据库文件进行扫描,恢复受损的部分

  
下载地址

http://www.onlinedown.net/soft/60208.htm
  
南京数据恢复 ,南京司法鉴定 ,13813824669
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|联系方式|广告服务|西数科技(江苏)有限公司 地址:南京市玄武区珠江路435号601室 电话:4006184118 ( 苏ICP备09074223号|苏公网备:32010202010982号 )

GMT+8, 2026-7-13 16:03 , Processed in 0.051611 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表