Foxtable(狐表)用户栏目专家坐堂 → 用现有数据库复制为另一个数据库的问题


  共有3228人关注过本帖树形打印复制链接

主题:用现有数据库复制为另一个数据库的问题

帅哥哟,离线,有人找我吗?
zpx_2012
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:976 积分:8527 威望:0 精华:0 注册:2012/2/9 16:35:00
用现有数据库复制为另一个数据库的问题  发帖心情 Post By:2014/8/27 11:10:00 [只看该作者]

想用一个现有的数据库复制新增为另一个数据库,除了分离-复制重命名为新数据库再附加的方法,想用现有数据库的备份来还原却不可以,

 

先在sql2005中新增一个空数据库:abc_Test,然后用现有的数据库abc的一个备份文件还原,却总提示错误

RESTORE DATABASE abc_Test
FROM DISK='F:\NS\backup\abc_20140627.bak' WITH REPLACE

 

错误提示如下:

无法覆盖文件 'D:\Program Files\SQLDATA\abc.MDF'。数据库 'abc' 正在使用该文件。

文件 'abc' 无法还原为 'D:\Program Files\SQLDATA\abc.MDF'。请使用 WITH MOVE 选项来标识该文件的有效位置。

 

本来是用abc_20140627.bak还原为 abc_Test,但错误提示却是无法还原为abc.MDF, 不理解请教老师。

 

谢谢!



 回到顶部
帅哥哟,离线,有人找我吗?
jspta
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1732 积分:11266 威望:0 精华:0 注册:2011/12/15 22:06:00
  发帖心情 Post By:2014/8/27 11:13:00 [只看该作者]

D:\Program Files\SQLDATA\abc.MDF  这个路径应该是原来数据库文件吧
你要路径改了下才行

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/8/27 11:18:00 [只看该作者]

 如果要还原某一数据库。

 

 1、所有对数据库的连接,都必须关闭;

 

 2、你执行还原语句的时候,不能连接当前数据库;


 回到顶部
帅哥哟,离线,有人找我吗?
zpx_2012
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:976 积分:8527 威望:0 精华:0 注册:2012/2/9 16:35:00
  发帖心情 Post By:2014/8/27 11:23:00 [只看该作者]

那个路径是原来的没有错,但是我新增的abc_Test也是在D:\Program Files\SQLDATA\下面,原来那个数据库abc.MDF也还要用,而且这个

RESTORE DATABASE abc_Test
FROM DISK='F:\NS\backup\abc_20140627.bak' WITH REPLACE

这两句中没有涉及到路径,要怎么改呢?

 

 

 


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/8/27 11:29:00 [只看该作者]

 回复4楼,没有你这种复制数据库的方法。

 

 一般复制数据库,都是这样:1、将数据库生成sql语句;2、执行生成的sql语句,还原或新建数据库。


 回到顶部