数据库表空间的一个数据文件被损坏,还有什么办法可以恢复回来吗

数据库表空间的一个数据文件被损坏,还有什么办法可以恢复回来吗,第1张

1、源数据库是否是正常关闭,是否是存在归档模式,是否存在全库备份等,相应

数据文件

日志文件

的位置是否有变动等因素,才能确定是否能够恢复。

2、如果是这样的情况:原数据库是正常关闭,同时处于归档模式下,上次全库备份以后的

归档日志

全部存在(如果没有全库备份,那么数据库建立之初的到现在的归档日志要全部在)!

那么可以完全恢复!----正常关闭数据库很重要,只要不是shutdown

abort关闭数据库,

我们都可以

叫正常关闭!

3、在非归档模式下,正常关闭数据库的!

可以尝试一下方法(注意数据文件路径是否存在变化等,下面没有考虑啊):

31、关闭数据库

32、复制源库所有的数据文件和

控制文件

33、SQL>startup

mount;

34、SQL>recover

database

until

cancel

;

35、SQL>alter

database

open

resetlogs;

您好,建议使用U盘PE修复。

方法

1、首先BIOS设置用U盘或光盘启动。例U盘启动,插入U盘,电脑启动,进入PE系统。

2、进入PE桌面上,双击此计算机。

打开C:\windows\system32\config\RegBack目录下,把全部文件选择,右键,复制。

返回C:\windows\system32\config\目录下,在空白处。右键,粘贴。

3、返回PE桌面上在开始菜单。重新启动。这样就修复好注册表。

用checktable看看是否有错,如果有错,试下是否可以修复 alter database 库名 set single_user --dbcc checktable('表名',repair_rebuild) dbcc checktable('表名',repair_allow_data_loss) alter database 库名 set multi_user

麻烦采纳,谢谢!

主要软件版本: 101

主要软件修正版本:次要软件: N/A

如果 *** 作有误,这个流程可能会导致数据丢失。如果在这次修复前你需要备份自定义换算,请在 *** 作前参照以下链接。

MAX将留有一份数据库文件的备份,可用于数据库损坏的修复。若需返回至未损坏的备份,请以管理员帐号或另一个管理员权限的帐号登录并完成以下步骤(如果你安装了如F-Secure等防火墙,请确认在进行恢复时将其关闭!):

退出所有NI应用程序。

启动命令窗口: 在Windows开始菜单中选择运行输入"cmd”,点击OK。 输入"net stop mxssvr"并按回车以终止MAX数据库服务。如果你被提示是否终止其他服务,请终止它们。输入"exit" 并按回车以关闭命令窗口。

查找Last文件夹

在Windows XP和Windows 2000下:

浏览至C:\Documents and Settings\All Users\Application Data\National Instruments\MAX\Data Dictionaries\LastApplication Data文件夹是隐藏的。你可以通过选择工具》文件夹选项,选项卡,选择显示隐藏文件和文件夹查看隐藏文件夹。 在Windows Vista下: 浏览至C:\ProgramData\National Instruments\MAX\Data Dictionaries\Last如果看不见这个文件夹,到C盘并在菜单栏中选择管理》文件夹和查找选项,选项卡。 选择显示隐藏文件和文件夹选项。 取消选择隐藏被保护的 *** 作系统文件选项。 创建Last文件夹备份,并存在另一个目录下。

查找Data文件夹

在Windows XP和Windows 2000下: C:\Documents and Settings\All Users\Application Data\National Instruments\MAX\Data\Application Data文件夹是隐藏的。你可以通过选择工具》文件夹选项,选项卡,选择显示隐藏文件和文件夹查看隐藏文件夹。 在Windows Vista下: 浏览至C:\ProgramData\National Instruments\MAX\Data如果看不见这个文件夹,到C盘并在菜单栏中选择管理》文件夹和查找选项,选项卡。 选择显示隐藏文件和文件夹选项。 取消选择隐藏被保护的 *** 作系统文件选项。

创建Data文件夹备份,并存在另一个目录下。

打开原始的Data文件夹并找到名为config3mxsbak的文件。通过右键点击文件图标,选择属性,查看这个文件的创建/修改时间。在常规选项卡下将会列出文件被创建或最后修改的时间。如果文件的时间记录显示它包含你最近的修改,请按以下步骤继续 *** 作。如果文件长期未被更新,或是config3mxsbak文件和config3mxs文件大小相同,那么只需删除整个Data文件夹并跳至第10步。注意:整体删除Data文件夹将会抹去所有配置设置。在下一次启动MAX时,你将需要再次配置所有硬件。

仍在MAX\Data文件夹下,删除名为config3mxs的文件,或是将其以另一文件名保存。对Data文件夹下的其他存在的文件都进行同样的 *** 作:config3mxc,config3mxd,config3mx5,以及storagemxc。

将config3mxsbak重命名为config3mxs。重启计算机。

启动MAX。如果你没有完全删除Data文件夹,那么MAX将会以已被备份的配置信息启动。

你按下面的方法试试,下面是我在网上找了,我也不是太专家,我估计你重装一下或者修复一下就行!修复你应该会吧,就是像装系统那样,吧盘放里面,下面有个“修复计算机选项”点开就行了,如果还是不行的话就按下面的做一下。

无日志修复数据库:假设数据库名为db1

--1我们使用默认方式建立一个供恢复使用的数据库(如db1)。可以在SQL Server Enterprise Manager里面建立。

--2停掉数据库服务器。

--3将刚才生成的数据库的日志文件ldf删除,用要恢复的数据库mdf文件覆盖刚才生成的数据库数据文件mdf。

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

--5设置数据库允许直接 *** 作系统表。此 *** 作可以在SQL Server Enterprise Manager里面选择数据库服务器,

--按右键,选择“属性”,在“服务器设置”页面中将“允许对系统目录直接修改”一项选中。也可以使用如下语句来实现。

use master

go

sp_configure 'allow updates',1

go

reconfigure with override

go

--6设置db1为紧急修复模式

--此时可以在SQL Server Enterprise Manager里面看到该数据库处于“只读\置疑\脱机\紧急模式”可以看到数据库里面的表,但是仅仅有系统表

update sysdatabases set status=-32768 where dbid=DB_ID('db1')

--7重建数据库日志文件

dbcc rebuild_log('db1','d:\db1data\db1_logldf')

--8验证数据库一致性,这一步的运行结果可要看仔细了,如果数据库结构发生损坏,有些数据可是不能恢复的

dbcc checkdb('db1')

--9设置数据库为正常状态

sp_dboption 'db1','dbo use only','false'

--10将设置中的“允许对系统目录直接修改”一项恢复

sp_configure 'allow updates',0

go

reconfigure with override

go

好了,大功告成!

以上就是关于数据库表空间的一个数据文件被损坏,还有什么办法可以恢复回来吗全部的内容,包括:数据库表空间的一个数据文件被损坏,还有什么办法可以恢复回来吗、win10注册表数据库损坏、SQL2005表架构损坏如何修复等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10635579.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-10
下一篇 2023-05-10

发表评论

登录后才能评论

评论列表(0条)

保存