事情是这样发生的,在WIN2003服务器上装有SQL2005,我吧里面的一个名字为GREEN的数据库采用FULL完整备份下来,取名为green.bak
然后吧此备份下来的数据库文件green.bak拷贝到了另外一台装有XP系统的机器上,同样XP系统也装有SQL2005,我用还原自文件但是报错,请教下如何解决?
然后吧此备份下来的数据库文件green.bak拷贝到了另外一台装有XP系统的机器上,同样XP系统也装有SQL2005,我用还原自文件但是报错,请教下如何解决?
解决方案 »
- 页面循环查询数据,超时提示[DBNETLIB][ConnectionOpen (Connect()).]SQL Server 不存在或拒绝访问。
- [求助贴] 关于一条SQL添加到两个不同的表
- 如何用 BACKUP WITH FORMAT 来构造新的媒体集
- 一下遇到了2个问题
- 求一更新SQL语句
- SQL 查询条件判断问题
- 一个问题,请大家帮帮忙,谢谢了
- 求教:检索数据库的数据生成xml遇见的问题(应该是很常见的),先谢了!!!
- 如何使用ADO在Access中建立一个视图,creat view好像不行
- 好惭愧,又得麻烦大家了
- 将日期用数值型保存,有什么不方便的地方吗?我感觉兼容性好。在客户端程序中处理时转换一下就行了。
- 在存储过程里,怎么写自动编号啊
--右键"数据库"
--所有任务
--还原数据库
--"还原为数据库库"中输入还原后的数据库名
--还原选择"从设备"--选择设备--添加--添加你的备份文件--确定,回到数据库还原的界面
--备份号--选择内容--选择你要恢复那次备份的内容
--选项--将"移至物理文件名"中的物理文件名修改为你的数据文件要存放的文件名
--如果要还原的数据库已经存在,选择"在现有数据库上强制还原"-
-确定
--或用SQL语句:
restore database 数据库 from disk='c:\你的备份文件名'还原数据库
企业管理器中的操作:1.进行完整恢复
企业管理器--右键"数据库"--所有任务--还原数据库
--"还原为数据库库"中输入还原后的数据库名,设为:test
--还原选择"从设备"--选择设备--添加--添加你的备份文件
--确定,回到数据库还原的界面
--"还原备份集",选择"数据库--完全"
--选项--将"移至物理文件名"中的物理文件名修改为你的数据文件要存放的文件名
--如果要还原的数据库已经存在,选择"在现有数据库上强制还原"
--"恢复完成状态",选择"使数据库不再运行,但能还原其它事务日志"
--确定--或用SQL语句:
restore database 数据库 from disk='c:\你的完全备份文件名' with norecovery
2.进行差异恢复
企业管理器--右键"数据库"--所有任务--还原数据库
--"还原为数据库库"中选择数据库名:test
--还原选择"从设备"--选择设备--添加--添加你的备份文件
--确定,回到数据库还原的界面
--"还原备份集",选择"数据库--差异"
--"恢复完成状态",选择"使数据库不再运行,但能还原其它事务日志"
--确定--或用SQL语句:
restore database 数据库 from disk='c:\你的差异备份文件名' with norecovery
3.进行日志恢复
企业管理器--右键"数据库"--所有任务--还原数据库
--"还原为数据库库"中选择数据库名:test
--还原选择"从设备"--选择设备--添加--添加你的备份文件
--确定,回到数据库还原的界面
--"还原备份集",选择"事务日志"
--"恢复完成状态",选择"使数据库可以继续运行,但无法还原其它事务日志"
--确定--或用SQL语句:
restore log 数据库 from disk='c:\你的日志备份文件名' with recovery--解决还原数据库目录不对的详细步骤:1.企业管理器中的方法:
--右键"数据库"
--所有任务
--还原数据库
--"还原为数据库库"中输入还原后的数据库名
--还原选择"从设备"--选择设备--添加--添加你的备份文件--确定,回到数据库还原的界面
--备份号--选择内容--选择你要恢复那次备份的内容
--选项--将"移至物理文件名"中的物理文件名修改为你的数据文件要存放的文件名
--如果要还原的数据库已经存在,选择"在现有数据库上强制还原"-
-确定
2.用SQL语句的方法(假设你的备份文件名为: c:\xx.bak--列出备份文件中的逻辑文件名
restore filelistonly from disk='c:\xx.bak'
--用语句恢复,根据上面列出的逻辑文件名使用move选项
restore database 恢复后的数据库名
from disk='c:\xx.bak'
with move '逻辑数据文件名1' to 'c:\物理数据文件名1'
,move '逻辑数据文件名2' to 'c:\物理数据文件名2'
...
,move '逻辑数据文件名n' to 'c:\物理数据文件名n'
没有什么要特别注意的,和企业版之间的备份/还原要注意的东西一样:1.要注意备份时的设置问题,不要指定多个备份文件,否则还原时也要指定多个备份文件2.要注意备份的媒体处理方式问题,用重写,而不是追加,否则还原的时候要指定备份号3.要注意备份的方式,用完全备份,而不是其他备份方式,否则还原时还要其他备份文件支持4.还原时要注意数据文件路径的问题,如果两个系统的数据文件目录不一致,要重新指定5.还原后要注意孤立用户的问题(即两个系统中的SQL用户不同,解决方式参考sql联机帮助)
可能的原因:1.你还原后的数据库的数据文件所放的磁盘空间不够
解决的办法是把数据文件放在空间足够的分区2.你的磁盘分区采用的是FAT16/FAT32,前者限制了最大文件大小为2G,后者最大为4G
解决的办法是改磁盘分区格式为NTFS