❶ 只有mdf和ldf文件,甚至只有mdf文件,如何恢复数据库求答案
1. 首先确认已经备份了.mdf和.ldf文件。
2. 在sql Server中新建一个同名的数据库,然后停止SQL Server服务。
3. 用原有的.mdf和.ldf文件覆盖新建数据库对应的.mdf和.ldf文件。
4. 重新启动SQL Server服务,这是应该会看到这个数据库处于置疑(Suspect)状态。(人品好的话,这个时候数据库就已经恢复正常了,上次xrf的数据库就是这样被我恢复的。人品不好的话,下面的步骤也不行,我有一次就是找了一个北京做数据恢复的公司才恢复完毕。)
5. 在SQL查询分析器中执行以下命令,以允许更新系统表:use mastergosp_configure ‘allow updates’,1
reconfigure with overridego
6. 将这个数据库置为紧急模式:
update sysdatabases set status = 32768 where name = 'db_name'go
7. 使用DBCC CHECKDB命令检查数据库中的错误:
DBCC CHECKDB(‘db_name’)GO
8. 如果DBCC CHECKDB命令失败,请转至第10步,否则先将数据库置为单用户模式,再尝试对其进行修复:
sp_dboption 'db_name',’single user’,’true’
DBCC CHECKDB(‘db_name’, REPAIR_ALLOW_DATA_LOSS)GO如果在执行DBCC CHECKDB(‘db_name’, REPAIR_ALLOW_DATA_LOSS)命令时提示说数据库未处于单用户模式状态的话,则重新启动SQL Server服务,然后继续尝试。
9. 如果DBCC CHECKDB(‘db_name’, REPAIR_ALLOW_DATA_LOSS)命令失败,请转至第10步,否则若成功修复了数据库中的错误:
重新执行DBCC CHECKDB(‘db_name’)命令,确认数据库中已没有错误存在。
清除数据库的置疑状态:sp_resetstatus 'db_name'
清除数据库的单用户模式状态:sp_dboption 'db_name',’single user’,’false’
重新启动SQL Server服务,如果一切正常的话,则数据库已经成功恢复。
10. 如果以上步骤都不能解决问题的话,请参考附件中的文档尝试通过重建事务日志来恢复数据库中的数据。
如果您只有MDF文件,问题就更加复杂一些,我们需要直接重建事务日志了:
1. 在SQL Server中新建一个同名的数据库,然后停止SQL Server服务。
2. 用原有的ldf文件覆盖新建数据库对应的.mdf文件,将其日志文件(.ldf)删除。
3. 启动SQL Server服务,并将数据库置为紧急模式(同上: 步骤5和步骤6)。
4. 停止并重新启动SQL Server服务。
5. 执行以下命令重建数据库日志文件:(下面是个示例,您要用您实际的数据库名)
DBCC REBUILD_LOG(’cas_db’, 'D:\cas_db\cas_db_Log.LDF')
6. 重新将该数据库置为单用户模式。
❷ 仅有LDF文件和MDF文件 怎样还原数据库
1、把mdf文件和ldf文件拷贝到数据库的默认路径C:Program FilesMicrosoft SQL ServerMSSQL10.MSSQLSERVERMSSQLDATA里;
2、在sqlserver里新建个查询,执行下面代码;
USEmaster;
GO
CREATEDATABASENewFile
ON(FILENAME='C:.MSSQLSERVERMSSQLDATAFile.mdf'),
(FILENAME='C:.MSSQLSERVERMSSQLDATAFile_log.ldf')
FORATTACH;
GO
3、刷新数据库,就出现了新的数据库NewFile;
根据mdf文件和ldf文件还原成功!
❸ [转载]只有ldf mdf文件怎么恢复数据
首先 计算机 搜索 .LDF .MDF 这两个文件 (如果没有备份这两个文件也没有的话 数据就彻底找不回来了)
一般这两个文件在安装目录DATD 文件里
找到后 打开企业管理器 数据库
第一步: 将这两个文件复制到管家婆服务器安装文件夹下的data下。(这些文件原来放在管家婆data目录下)
第二步: 进入windows的开始--程序--Microsoft SQL Server 7.0--Query
Analyzer,点击进入后,点ok,在出现一个可输入的窗口后,输入这样的命令:exec sp_attach_db
'你的数据库名','你的***.mdf文件的存放路径','你的***.ldf文件的存放路径'。
举个例子:exec
sp_attach_db'dbname','c:graspcwsdata***.mdf','c:graspcwsdata***.ldf'
要严格按照此格式来写命令,写完后找到上面命令栏中的向右的绿色箭头,点击它,如果出现successfully attached
database '你的数据库名',则退出,进入下一步骤。第三步: 进入windows的开始--程序--Microsoft SQL Server 7.0--Enterprise
Manager,点击进入后,就一直点击一个小的“+”号,直到出现一个有databases文件夹的菜单,这时再点击databases旁边的“+”号,找到master文件夹,点击master旁边的“+”号,找到table,点击后在右边的窗口中出现很多文件,找到graspcwzt的文件,用右键点击,在出现的菜单中找到open
rows,然后出现一个表格,在dbname中输入你的数据库名,在fullname中输入你的帐套名,然后点击上面菜单栏中的感叹号“!”,退出。
❹ 用友软件只有mdf.ldf 文件如何恢复
可以在某个文件夹下,新建一个账套,会产生两个文件,也就是你说的mdf数据文件、ldf日志文件,将数据库的服务停止掉,然后将你这两个文件替换掉新的这个文件,再启动数据库服务,打开软件,这样账套就恢复了;
用友比较麻烦,而金额可以将数据库附加的数据库中,有个注册的功能,就好了,相对来说方便点。
❺ 只有mdf文件,怎么恢复SQLSERVER数据库
1、开启数据库
2、从企业管理器,建一个同名的数据库
3、停止sql
server
4、用原mdf文件覆盖新建库的数据库文件
5、重启sql
server(这时数据库应该是置疑)
6、修改服务器设置:允许对系统目录进行直接修改
sp_configure
'allow
updates',1
reconfigure
with
override
7、将数据库置为紧急状态:
update
master.dbo.sysdatabases
set
status
=
32768
where
name
=
'数据库名'
8、删除新的ldf文件,重建日志:
dbcc
rebuild_log('数据库名',
'f:\数据库名_log_new.ldf')--假设把新日志在f盘
9、update
master.dbo.sysdatabases
set
status
=
16
where
name
=
'数据库名'
10、修改服务器设置:取消
允许对系统目录进行直接修改
sp_configure
'allow
updates',
0
reconfigure
with
override
11、再使用检查工具修复错误
use
[数据库名]
alter
database
[数据库名]
set
single_user
with
rollback
immediate
dbcc
checkdb
('数据库名',REPAIR_ALLOW_DATA_LOSS)
alter
database
[数据库名]
set
multi_user
执行完毕之后,如果还有错误,重复执行11,直到没有错误为止。
❻ 用友u8只有.MDF和.ldf的情况下怎么恢复数据
在只有.MDF和.ldf的情况下进行数据库的备份与恢复。 因病毒问题,用友软件无法正常启动.系统管理也不能进入.因此无法正常备份数据,这时就要用到附加数据库了.通过附加数据库使数据库和用友软件相关联,步骤如下: 1'把用友软件下的ADMIN文件夹下的内容挎出,主要是*.mdf和*.ldf文件,就用友通标版2005来说其中包括系统数据UfSystem.MDF和UfSystem.ldf及各账套下的内容. 2'重装系统及软件 3'把挎备出来的文件复制回原来的位置. 4'通过查询分析器SQL语句附加数据库,或者通过企业管理器/服务器/数据库/右键/附加数据库 来附加数据库。
--sp_attach_db 'ufsystem','D:\UF2000\Admin\ufsystem.mdf','D:\UF2000\Admin\ufsystem.ldf'
//第一行'ufsystem'为系统数据库名,'D:\UF2000\Admin'为物理地址. --sp_detach_db 'ufsystem'
//第二行,在第一行执行时提示ufsystem已经存在,因此要删除ufsystem,但要注意,重做的系统要和之前的系统一样.要不就恢复不了。
--sp_attach_db 'ufdata_001_2002','D:\UF2000\Admin\ZT001\2002\ufdata.mdf','D:\UF2000\Admin\ZT001\2002\ufdata.ldf'
//第三行'ufdata_001_2002'为001账套2002的数据库。'D:\UF2000\Admin\ZT001\2002'为物理地址. 其它的账套也是如此。>; 另外,用户设置了SQL server 超级用户SA的密码,大家都知道设置SA密码后,当其他软件用到SQL server数据库时是非常不方便的.所以要把SA的密码清空. 方法是:打开企业管理器,依次打开SQL server组,打开安全性,打开登录,在SA上点右键,选属性,在密码项上清空,依次确定即可。
❼ 用友u8只有.MDF和.ldf的情况下怎么恢复数据
以在某个文件夹下,新建一个账套,会产生两个文件,也就是你说的mdf数据文件、ldf日志文件,将数据库的服务停止掉,然后将你这两个文件替换掉新的这个文件,再启动数据库服务,打开软件,这样账套就恢复了;
❽ SQL2000我只有MDF数据,没有LOG日志,怎么还原数据库
给你一个我日常维护数据库的方法吧。
SQL Server 2000数据库LDF损坏,只有mdf的恢复方法。
SQL Server 2000数据库文件遭到破坏的现象经常出现,数据库出错是否可以修复呢?答案是可以的,本日志以一个sql server 2000数据库,数据库日志文件ldf损坏了,mdf正常,数据库附加失败的修复方法总结一下,数据库数据恢复在很多时候比较复杂,当数据库存在大量错误的时候,使用DBCC修复也是不可以的,需要拆解数据库来抢救重要的数据,下面是较为常见的一种SQL Server 2000数据库修复方式:
1) 先及时把原来的数据库文件(如test.mdf)备份到其他地方。
2) 停掉服务器。
3) 删除这个test.mdf。
4) 重新建立一个test同名数据库。
5) 删除这个新建立的test数据库的test.ldf文件,并用开始备份好test.mdf文件覆盖这个新建立的test.mdf文件。
6) 启动数据库服务器。此时会看到数据库test的状态为“置疑”。这时候不能对此数据库进行任何操作。
.设置数据库允许直接操作系统表。此操作可以在SQL Server Enterprise Manager里面选择数据库服务器,按右键,选择“属性”,在“服务器设置”页面中将“允许对系统目录直接修改”。
7) 设置test为紧急修复模式
update sysdatabases set status=-32768 where dbid=DB_ID('test')
此时可以在SQL Server Enterprise Manager里面看到该数据库处于“只读\置疑\脱机\紧急模式”可以看到数据库里面的表,但是仅仅有系统表
8) 下面执行真正的恢复操作,重建数据库日志文件
dbcc rebuild_log('test','C:\Program Files\Microsoft SQL Server\MSSQL\Data\test_log.ldf')
执行过程中,如果遇到下列提示信息:
服务器: 消息 5030,级别 16,状态 1,行 1
未能排它地锁定数据库以执行该操作。
DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。
说明您的其他程序正在使用该数据库,如果刚才您在操作中使用SQL Server Enterprise Manager打开了test库的系统表,那么退出SQL Server Enterprise Manager就可以了。
正确执行完成的提示应该类似于:
警告: 数据库 'test' 的日志已重建。已失去事务的一致性。应运行 DBCC CHECKDB 以验证物理一致性。将必须重置数据库选项,并且可能需要删除多余的日志文件。
DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。
此时打开在SQL Server Enterprise Manager里面会看到数据库的状态为“只供DBO使用”。此时可以访问数据库里面的用户表了。
9) 验证数据库一致性
dbcc checkdb('test')
10.设置数据库为正常状态
sp_dboption 'test','dbo use only','false'
如果没有出错,那么恭喜,现在就可以正常的使用恢复后的数据库啦。
11)最后一步,我们要将步骤6中设置的“允许对系统目录直接修改”一项恢复;
❾ 用友T1商贸宝只有*.mdf和*.ldf文件时,如何恢复数据
操作方式一:
·将这两个文件复制到...\\用友T1-商贸宝批发零售版\\服务器\\data下。(这些文件存放在\"原软件安装路径\\用友T1-商贸宝批发零售版\\服务器\\data\"下)
·进入windows操作系统的【开始】->【程序】->【Microsoft
SQL
Server】->【查询分析器】中,在弹出\"连接到SQL
Server\"窗口中输入密码(此项安装SQL数据库时输入的密码,如当时未输入密码,在此也无需输入),点击\"确认\"后,在出现的可输入的空白窗口处,录入如下内容:
exec
sp_attach_db\'新建的数据库名称\',\'*.mdf文件在本机的存放路径\',\'*.ldf文件在本机的存放路径\'
例如:exec
sp_attach_db\'dbname\',\'c:\\用友T1-商贸宝批发零售版\\服务器\\data\\*.mdf\',\'c:\\用友T1-商贸宝批发零售版\\服务器\\data\\*.ldf\'
请严格按照此格式进行书写,输入完成后点击窗口工具栏中的绿色三角形按钮或点击键盘按键\"F5\"运行,如现成功提示后,完成此项操作。
·进入windows操作系统的【开始】->【程序】->【Microsoft
SQL
Server】->【企业管理器】,点击控制台根目录下的\"+\"号,直到看到一个名为\"数据库\"文件夹,再次点击\"数据库\"左边的\"+\"号,找到\"master\"数据库,点击master旁边的\"+\"号,找到其下级目录\"表\",点击\"表\"后,在右边的窗口中出现很多数据表文件,找到名为\"sub_list\"的文件,右键单击此项,在弹出的菜单中选中\"打开表->返回所有行\",此时出现一个表格,在dbname中输入你的数据库名,在ZTname中输入你的账套名,flgver对应列输入版本信息,然后点击上面工具栏中的感叹号\"!\",退出完成数据恢复操作。
操作方式二:
·将这两个文件从\"软件安装路径\\用友T1-商贸宝批发零售版\\服务器\\data\"剪切拷贝到其它目录下。
·进入软件中,创建一个新账套,数据库名称为*.mdf的文件名相同。例如文件为fzb.mdf,则创建的新账套的账套名称可以任意取,但数据库名称必须是fzb,此时在\"软件安装路径\\用友T1-商贸宝批发零售版\\服务器\\data\"会生成两个新文件fzb.mdf和fzb.ldf。
·将原来拷贝到其它路径下的*.mdf文件和*.ldf文件拷回到\"软件安装路径\\用友T1-商贸宝批发零售版\\服务器\\data\"覆盖新建账套生成的同名文件,完成数据恢复操作。
注意:客户安装数据库文件为MSDE2000可采用方式二进行处理,但不能采用方式一进行数据恢复。