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 操作异常终止。
原来是备份文件不对,郁闷啊,搞了半天.
三 总结
数据库的学习分为开发和管理.
今天遇到的问题都属于管理方面的,这些都主要是靠经验,以后要勤做笔记了.