首页 > 开发 > 综合 > 正文

Sql2000数据的附加时出错处理办法

2024-07-21 02:11:43
字体:
来源:转载
供稿:网友

转贴: 
  问题: 
  sql2000数据的附加时出错: 
   
  错误  3624 
  location:recovery.c:1996 
  express:curr->lon_length>0 
  spdi:51 
  process  id:768 
  最后提示附加失败 
   
  服务器:  消息  5105,级别  16,状态  4,行  1 
  设备激活错误。物理文件名  'f:/database/fdzz1204_data.ldf'  可能有误。 
   
  解决: 
  新建一同名数据库(文件名,文件组都和原来的一样),然后停止数据库服务,用原来文件替换新建的数据库文件,启动数据库,该数据库被设未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  ('数据库名')看看有没有错误 
   
  如果上面还是不行,试试把数据库设为紧急模式,应该可以看到数据了,在把数据导出到一个新的数据库 
   
  1.新建一个同名的数据库(数据文件与原来的要一致) 
   
  2.再停掉sql  server(注意不要分离数据库) 
   
  3.用原数据库的数据文件覆盖掉这个新建的数据库 
   
  4.再重启sql  server 
   
  5.此时打开企业管理器时会出现置疑,先不管,执行下面的语句(注意修改其中的数据库名) 
   
  6.完成后一般就可以访问数据库中的数据了,这时,数据库本身一般还要问题,解决办法是,利用 
  数据库的脚本创建一个新的数据库,并将数据导进去就行了.  
   

use master
go
  sp_configure  'allow',  1 
  reconfigure  with  override 
go
  update  sysdatabases  set  status  =  32768  where  name  =  '置疑数据库名' 
    
go
--先删除以前的日志文件
  dbcc  rebuild_log  ('置疑数据库名',  '置疑数据库日志文件存放位置'  ) 
 
go 
  update  sysdatabases  set  status  =  0  where  name  =  '置疑数据库名' 
  --执行 
  restore  database  project  with  recovery
go
  sp_configure  'allow',  0 
  reconfigure  with  override 
go
  dbcc  checkdb  ('置疑数据库名')--看看有没有错误 
   
   或
  use  master 
  go 
   
  sp_configure  'allow  updates',1  reconfigure  with  override 
  go 
   
  update  sysdatabases  set  status  =32768  where  name='置疑的数据库名' 
  go 
   
  sp_dboption  '置疑的数据库名',  'single  user',  'true' 
  go 
   
  dbcc  checkdb('置疑的数据库名')   
  go 
   
  update  sysdatabases  set  status  =28  where  name='置疑的数据库名' 
  go 
   
  sp_configure  'allow  updates',  0  reconfigure  with  override 
  go   
   
  sp_dboption  '置疑的数据库名',  'single  user',  'false' 


 


上一篇:sql2000复制

下一篇:SQLSERVER处理时间小结

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表