• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

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

sqlserver 搞代码 3年前 (2018-06-16) 91次浏览 已收录 0个评论

转贴: 
  问题: 
  Sql2000数据的附加时出错: 
   
  错误  3624 
  location:recovery.c:1996 

http://www.gaodaima.com/35935.htmlSql2000数据的附加时出错处理办法_sqlserver

  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,跪求各位点评,若觉得好的话请收藏本文,by 搞代码


喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址