数据库还原问题

pgz_007 2008-06-13 11:07:46
我想比较同一个数据库的两个不同备份之间数据的异同。

我的本地服务器已经有一个数据叫做database1了,我现在想还原此数据库的另一个备份在同一服务器下,以便查询比较。可是我又不能新建一个同名的数据库,建另外一个数据库名可是还原的时候又出错。请问我该怎么做?
...全文
75 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
lff642 2008-06-13
  • 打赏
  • 举报
回复
要企业管理器.还原数据库的步骤吗?
lff642 2008-06-13
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 colacat911 的回复:]
建议干脆用企业管理器还原吧

只要改一个名字就好。。。。。。。
[/Quote]

呵呵....有道理.
忆轩辕 2008-06-13
  • 打赏
  • 举报
回复
建议干脆用企业管理器还原吧

只要改一个名字就好。。。。。。。
忆轩辕 2008-06-13
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 pgz_007 的回复:]
服务器: 消息 3234,级别 16,状态 2,行 2
逻辑文件 'Northwind' 不是数据库 ''Northwind' ' 的一部分。请使用 RESTORE FILELISTONLY 来列出逻辑文件名。
服务器: 消息 3013,级别 16,状态 1,行 2
RESTORE DATABASE 操作异常终止。
[/Quote]

汗一个。。。。。。。。。逻辑名字要换成你那个备份库的名字
lff642 2008-06-13
  • 打赏
  • 举报
回复
你的还原语句,贴出来.
pgz_007 2008-06-13
  • 打赏
  • 举报
回复
服务器: 消息 3234,级别 16,状态 2,行 2
逻辑文件 'Northwind' 不是数据库 ''Northwind' ' 的一部分。请使用 RESTORE FILELISTONLY 来列出逻辑文件名。
服务器: 消息 3013,级别 16,状态 1,行 2
RESTORE DATABASE 操作异常终止。
忆轩辕 2008-06-13
  • 打赏
  • 举报
回复
逻辑名字一样不会冲突,但是物理文件名会冲突,不是可以改么
WITH MOVE 'Northwind' TO 'c:\test\testdb.mdf', -- 移动数据库数据文件到指定路径
MOVE 'Northwind_log' TO 'c:\test\testdb.ldf'-- 移动数据库日志文件到指定路径
lff642 2008-06-13
  • 打赏
  • 举报
回复
你换个路径.同时也可以改物理文件名的.
pgz_007 2008-06-13
  • 打赏
  • 举报
回复
我是楼主,现在关键是这两个备份的逻辑文件名和物理文件名是一样的,这样在一起就会有冲突了
lff642 2008-06-13
  • 打赏
  • 举报
回复


--参考:


RESTORE DATABASE newdbname ---新数据库名
FROM DISK = 'c:\Northwind.bak' ---备份文件的路径
WITH MOVE 'Northwind' TO 'c:\test\testdb.mdf', -- 移动数据库数据文件到指定路径
MOVE 'Northwind_log' TO 'c:\test\testdb.ldf'-- 移动数据库日志文件到指定路径
GO


liangCK 2008-06-13
  • 打赏
  • 举报
回复
restore database 库名 from disk='你的备份'
忆轩辕 2008-06-13
  • 打赏
  • 举报
回复
还原的时候可以更改数据库名
buttonzhou 2008-06-13
  • 打赏
  • 举报
回复
还原时一定要检查你的目标DB的物理文件名,把db备份文件的物理路径改为目标DB物理文件名一致.
szsymz 2008-06-13
  • 打赏
  • 举报
回复
还原时一定要检查你的目标DB的物理路径,把db备份文件的物理路径改为目标DB物理路径一致.
忆轩辕 2008-06-13
  • 打赏
  • 举报
回复
干脆把那个库删了。。。。。。。应该是你连在那个库上,所以就会有一个连接在上面

use master
go

然后执行restore语句
忆轩辕 2008-06-13
  • 打赏
  • 举报
回复
还有就是还原数据库不一定要先建库,没有你要还原的数据库的话会新建一个
忆轩辕 2008-06-13
  • 打赏
  • 举报
回复


RESTORE DATABASE hzdl2
FROM DISK = 'D:\物资\hzdl\hzdl_db_200805030400.BAK'
WITH MOVE 'hzdl' TO 'c:\test\hzdl2.mdf',
MOVE 'hzdl_log' TO 'c:\test\hzdl2.ldf'
GO

逻辑名字改了会报错的,不要改
pgz_007 2008-06-13
  • 打赏
  • 举报
回复
找到逻辑名了,可是我现在没有使用此数据库啊。“因为数据库正在使用,所以未能获得对数据库的排它访问权。”

RESTORE DATABASE hzdl2 FROM DISK = 'D:\物资\hzdl\hzdl_db_200805310400.BAK'
WITH MOVE 'hzdl_Data' TO 'c:\test\hzdl2.mdf',
MOVE 'hzdl_log' TO 'c:\test\hzdl2.ldf'
GO
-------------------------------
服务器: 消息 3101,级别 16,状态 2,行 1
因为数据库正在使用,所以未能获得对数据库的排它访问权。
服务器: 消息 3013,级别 16,状态 1,行 1
RESTORE DATABASE 操作异常终止。
pgz_007 2008-06-13
  • 打赏
  • 举报
回复
两个数据库分别为hzdl和hzdl2,里面结构完全一样。现在我新建一个hzdl2,把某个备份还原到这个数据库上来

RESTORE DATABASE hzdl2
FROM DISK = 'D:\物资\hzdl\hzdl_db_200805030400.BAK'
WITH MOVE 'hzdl2' TO 'c:\test\hzdl2.mdf',
MOVE 'hzdl2_log' TO 'c:\test\hzdl2.ldf'
GO
-----------------------------------------
服务器: 消息 3234,级别 16,状态 2,行 1
逻辑文件 'hzdl2' 不是数据库 'hzdl2' 的一部分。请使用 RESTORE FILELISTONLY 来列出逻辑文件名。
服务器: 消息 3013,级别 16,状态 1,行 1
RESTORE DATABASE 操作异常终止。

34,576

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧