sql2k中还原数据库出错:请使用with move选项来标识该文件的有效位置 和 发生内部一致性错误,请与技术支持联系以寻求协助

sql2k 终于顺利安装完毕,还原时出错,初步判定是路径问题,网上查找到解决方案.然后备份过程中一直报错,发生内部一致性错误,请与技术支持联系以寻求协助.

以下为搜寻结果,问题解决.

 

一  sql2k中还原数据库出错:请使用with move选项来标识该文件的有效位置.

错误如下:   
  设备激活错误。物理文件名C:\Program   Files\ST2008\SXT.mdf可能有误   
  文件SXT_dat无法还原为C:\Program   Files\ST2008\SXT.mdf。请使用WITH   MOVE选项来标示该文件的有效位置。   
  设备激活错误。物理文件名C:\Program   Files\ST2008\SXT.ldf可能有误   
  文件SXT_log无法还原为C:\Program   Files\ST2008\SXT.ldf。请使用WITH   MOVE选项来标示该文件的有效位置。   
    
解决问题:
--查看数据库文件名的问题   

-查询分析器中执行下面的语句来解决   
  restore   database   数据库名   
  from   disk='c:\a.bak'     --c:\a.bak是备份文件名   
  with   move   'SXT_dat'   to   'c:\sxt.mdf'     --将sxt_dat恢复到文件c:\sxt.mdf   
          ,move   'SXT_log'   to   'c:\sxt.ldf'     --将sxt_log恢复到文件c:\sxt.ldf  


同时强制还原用 "with replace".

 

 

二 发生内部一致性错误,请与技术支持联系以寻求协助

 

网上找到问题可能为:

1.没打补丁.(如sql server 2000的SP4).
2.磁盘空间不够.
3.备份文件不是完全备份.
4.尝试使用强制性还原.
5.数据库逻辑名称不对.

 

补丁打上,然后看磁盘空间,

发现一些历史sql的db占磁盘空间很大,于是先清空日志:DUMP TRANSACTION 库名 WITH NO_LOG
再 : 企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件--选择日志文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了
次 : 如果想以后不让它增长,企业管理器->服务器->数据库->属性->事务日志->将文件增长限制为2M

最后仍然不对,执行语句  RESTORE   VERIFYONLY   FROM   disk='F:\Soft\JD_Pat'

报错:

服务器: 消息 3242,级别 16,状态 2,行 1
设备 'F:\Soft\JD_Pat' 的文件不是有效的 Microsoft 磁带格式备份集。
服务器: 消息 3013,级别 16,状态 1,行 1
VERIFY DATABASE 操作异常终止。

原来是备份文件不对,郁闷啊,搞了半天.

 

三 总结

 

数据库的学习分为开发和管理.

今天遇到的问题都属于管理方面的,这些都主要是靠经验,以后要勤做笔记了.

 

sql2k中还原数据库出错:请使用with move选项来标识该文件的有效位置 和 发生内部一致性错误,请与技术支持联系以寻求协助

 

 

你可能感兴趣的:(with)