真的快要被炒了.....................

lvcjh 2002-02-06 11:51:15
今天公司人事薪资数据库log满了,不小心心把sql server中的 .ldf给删了,而且事先没有先用sp_detach_db断开连接,而是直接关闭数据库,然后就把文件删了,现在只有.mdf了,现在我用EXEC sp_attach_single_file_db 'ce_hrm' ,
'f:\data\ce_hrm_db.mdf'
出现如下错识,请问怎么做啊?真的很急啊..................

未能打开新数据库 'ce_hrm'。CREATE DATABASE 将终止。
设备激活错误。物理文件名 'd:\ce_hrm_db\ce_hrm_log.ldf' 可能有误。


可能是.mdf文件坏了,现在怎么能从这些数据中恢愎呢?有什么工具吗,
微软真的就没解决这个问题吗,现在老板骂的要死,烦麻大家帮帮忙啊.............

希望大家能出点什么主意或找一找相关资料啊,本人将万分感谢............
因为全厂4-5千人,还有很多薪资资料啊及考勤.........

...全文
21 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
D_M 2002-02-07
  • 打赏
  • 举报
回复
不用急,只要运行过程中没有错误产生,也就是说你的MDF文件还是好的,数据库是可以恢复的。
1.先备份好你的MDF文件!
2.用sp_detach_db , sp_attach_single_file_db两个存储过程恢复你的数据库。
比如说你的数据库名字在原来是original ,
MDF文件是:d:\mssql7\data\original.mdf
那么在QUERY ANALYZER以数据库管理员的身份登录,运行下面的语句就行了:

EXEC sp_detach_db @dbname = ''original''
EXEC sp_attach_single_file_db @dbname = ''original'',
@physname = ''d:\mssql7\data\original.mdf''

rwq_ 2002-02-07
  • 打赏
  • 举报
回复
不知你能不能启动数据库?
我用net start mssqlserver启动的!
rwq_ 2002-02-07
  • 打赏
  • 举报
回复
我测试了一下:
把日志文件删除了,
然后重新启动后进行DETACH和ATTACH

======================================
sp_attach_single_file_db 'test','D:\SQL SERVER2000\MSSQL\Data\test_data.mdf'
结果:
设备激活错误。物理文件名 'D:\SQL SERVER2000\MSSQL\data\TEST_Log.LDF' 可能有误。
已创建名为 'D:\SQL SERVER2000\MSSQL\Data\test_log.LDF' 的新日志文件。

虽然出错,但数据库TEST也一样恢复了正常啊!
D_M 2002-02-07
  • 打赏
  • 举报
回复
怎么会这样?我发上去的单引号,一个变四个?你要注意这些四个在一起的单引号其实只有一个。上面的例子一共有六个地方是这样的。

11,849

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 非技术版
社区管理员
  • 非技术版社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧