如何在SQL-SERVER中恢复只有*.MDF的数据库文件?(50分)

  • 主题发起人 主题发起人 hzzkf
  • 开始时间 开始时间
H

hzzkf

Unregistered / Unconfirmed
GUEST, unregistred user!
我作了一个误操作,删除了日志文件,并把置疑的数据库文件也给删除了。现在只剩下了
*.mdf的数据库主文件,该怎么恢复?
 
这样比较难救了
还是先用EasyRecover等软件先看看能恢复多少误删的文件吧
 
附加数据库。
 
实验一下
sp_attach_db '数据库名称',Filename0='你的mdf文件带路径的'
 
啊?你删除了多少文件?
何为:*.mdf的数据库主文件
 
附加数据库不行,提示说日志文件有误.
告诉我的方法不行,说=附近有语法错误
 
在sql分析器中执行:
EXEC sp_detach_db @dbname = xxxx
EXEC sp_attach_single_file_db @dbname = xxxx,
@physname = d:/mssql7/data/xxx_data.mdf
xxxx为你的mdf文件。SQL server会重新建立日志文件
 
sp_attach_single_file_db @dbname='数据库名称',@physName=='带绝对路径的mdf文件'
 
语法还有错误,真奇怪,我的MDF文件不带_DATA后缀。在恢复时老是报相对应的日志文件
不匹配。
执行下列语句后出错:
EXEC sp_detach_db @dbname = 外贸系统
EXEC sp_attach_single_file_db @dbname = 外贸系统,
@physname = 'd:/外贸系统.mdf'

报错语句:
服务器: 消息 15010,级别 16,状态 1,过程 sp_detach_db,行 25
数据库 '外贸系统' 不存在。请用 sp_helpdb 来显示可用的数据库。
服务器: 消息 5173,级别 16,状态 1,行 1
不能使文件与不同的数据库相关。
服务器: 消息 1813,级别 16,状态 1,行 1
未能打开新数据库 '外贸系统'。CREATE DATABASE 将终止。
日志文件 'C:/Program Files/Microsoft SQL Server/MSSQL/data/外贸系统_Log.LDF'
与主文件不匹配。可能该文件来自另一个数据库,也可能先前曾重建过该日志。
 
还有,一个日志文件已有8G多,怎么将其减少到100M之内并保持以后都这样?
 
这个MDF 文件好像损坏了,导入时报错,有没有修复方法?
 
直接给该文件补一个_data试一试。
另外你的log文件太大了。试一下收缩数据库。或者在属性中改文件大小。
 
后退
顶部