sql server 數据庫的恢复出錯?

newsailor1976 2003-11-08 09:53:21
各位老大,有一個棘手的問題請幫個忙啊!問題是:(mydata是我的資料庫名稱)
我先把我的資料庫用語句卸載:
exec sp_detach_db 'mydata','true'
然后再用
exec sp_attach_single_file_db 'mydata','d:\mssql7\data\mydata.mdf'
時后出現錯誤:
server:Msg823,level 24 ,state 10,line 1
I/O error 2(系統找不到指定的檔案).
detected during read of page buffer.

connected broken.

無法恢复成功,該怎樣處理啊?請指教.
...全文
84 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
zjcxc 元老 2003-11-08
  • 打赏
  • 举报
回复
试试下面的方法:

恢复最近的备份。

然后停用SQL服务,将数据文件用分离出来的数据文件代替
newsailor1976 2003-11-08
  • 打赏
  • 举报
回复
是啊,在卸除數据庫時出錯了,但此時我已經沒有回頭的余地了.因為系統告訴我
數据庫還是卸除成功了,但是我恢复時就出現麻煩了,如上面所說.
不知道除了用最近的備份恢复資料庫(會損失一天的資料)以外,還有沒有其他方法?
zjcxc 元老 2003-11-08
  • 打赏
  • 举报
回复
卸數据庫有错误?那当然不行了。
zjcxc 元老 2003-11-08
  • 打赏
  • 举报
回复
--应该是你搞错目录,或者将2000的数据文件在7.0下附加。

--测试过,7.0也支持的,下面是我的测试

use master
go

sp_detach_db 'acc_医院','true'
go
sp_attach_db 'acc_医院'
,'F:\SQL Data\MSSQL\data\ACC_医院.mdf'
,'F:\SQL Data\MSSQL\data\ACC_医院.ldf'
go

sp_detach_db 'acc_医院','true'
go
sp_attach_single_file_db 'acc_医院'
,'F:\SQL Data\MSSQL\data\ACC_医院.mdf'
newsailor1976 2003-11-08
  • 打赏
  • 举报
回复
肯定是在同一版本下,有一點我忘記告訴大家了,那就是,我在用
exec sp_detach_db 'mydata','true'
卸數据庫時,系統報告了一個錯誤,那就是:有些文件沒有正确激活,
具体的英文我忘記了.
zjcxc 元老 2003-11-08
  • 打赏
  • 举报
回复
分离的数据库和恢复的数据库是否在同一版本下?
txlicenhe 2003-11-08
  • 打赏
  • 举报
回复
好象只有SQL2000以上才能用分离附加的方式吧?(记不清了)

可以用备份恢复的方式啊。
yoki 2003-11-08
  • 打赏
  • 举报
回复
EXEC sp_detach_db @dbname = 'mydata'
EXEC sp_attach_single_file_db @dbname = 'mydata',
@physname = 'd:\mssql7\data\mydata.mdf'
newsailor1976 2003-11-08
  • 打赏
  • 举报
回复
我用
EXEC sp_attach_db @dbname = N'mydata',
@filename1 = N'd:\mssql7\data\mydata.mdf',
@filename2 = N'c:\mssql7\data\mydata_log.ldf'
還是報告上面的錯誤,請高手指點啊!
delphiseabird 2003-11-08
  • 打赏
  • 举报
回复
你可以先删除原来的数据库再恢复
xyzliuin 2003-11-08
  • 打赏
  • 举报
回复
同意zjcxc(邹建)

34,623

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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