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表架构损坏如何修复等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)