*.mdf壞了,應如何恢復?

mis6 2003-09-11 12:08:02
在清除完後LOG後, 再要生成LOG時, 提示*.mdf壞了,應如何恢復?
...全文
23 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
happydreamer 2003-09-11
  • 打赏
  • 举报
回复
你没有备份吗?


分离数据库 单独附加.mdf文件呢
EXEC sp_detach_db @dbname = 'pubs'
EXEC sp_attach_single_file_db @dbname = 'pubs',
@physname = 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs.mdf'
pengdali 2003-09-11
  • 打赏
  • 举报
回复
清空日志用这个:
DUMP TRANSACTION 库名 WITH NO_LOG

你现在这样:

新建一同名数据库(文件名,文件组都和原来的一样),然后停止数据库服务,用原来文件替换新建的数

据库文件,启动数据库,该数据库被设未suspect

然后把数据库改成紧急模式:
sp_configure 'allow', 1
reconfigure with override
update sysdatabases set status = 32768 where name = '数据库名'

把LDF文件改名,再执行
DBCC REBUILD_LOG ('数据库名', 'E:\fdzz\database\fdzz1204_Log.LDF' )

恢复数据库紧急模式
update sysdatabases set status = 0 where name = '数据库名'
执行
restore database 数据库名 WITH RECOVERY
sp_configure 'allow', 0
reconfigure with override

然后用DBCC CHECKDB ('数据库名')看看有没有错误

如果上面还是不行,试试吧数据库设为紧急模式,应该可以看到数据了,在把数据导出到一个新的数据库
CrazyFor 2003-09-11
  • 打赏
  • 举报
回复
具体一点.
tjan 2003-09-11
  • 打赏
  • 举报
回复
你是如何清除的?
mis6 2003-09-11
  • 打赏
  • 举报
回复
我是一個生手, 請問
1.怎樣把数据库被设未suspect;
2.怎樣把数据库改成紧急模式:
sp_configure 'allow', 1
reconfigure with override
update sysdatabases set status = 32768 where name = '数据库名'
在哪裡執行?

'E:\fdzz\database\fdzz1204_Log.LDF' 是指的??

把LDF文件改名,再执行
DBCC REBUILD_LOG ('数据库名', 'E:\fdzz\database\fdzz1204_Log.LDF' )

恢复数据库紧急模式
update sysdatabases set status = 0 where name = '数据库名'
执行

27,579

社区成员

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

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