--参考: 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
逻辑名字一样不会冲突,但是物理文件名会冲突,不是可以改么 WITH MOVE 'Northwind' TO 'c:\test\testdb.mdf', -- 移动数据库数据文件到指定路径 MOVE 'Northwind_log' TO 'c:\test\testdb.ldf'-- 移动数据库日志文件到指定路径
两个数据库分别为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 操作异常终止。
找到逻辑名了,可是我现在没有使用此数据库啊。“因为数据库正在使用,所以未能获得对数据库的排它访问权。”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 操作异常终止。
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 逻辑名字改了会报错的,不要改
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
WITH MOVE 'Northwind' TO 'c:\test\testdb.mdf', -- 移动数据库数据文件到指定路径
MOVE 'Northwind_log' TO 'c:\test\testdb.ldf'-- 移动数据库日志文件到指定路径
逻辑文件 'Northwind' 不是数据库 ''Northwind' ' 的一部分。请使用 RESTORE FILELISTONLY 来列出逻辑文件名。
服务器: 消息 3013,级别 16,状态 1,行 2
RESTORE DATABASE 操作异常终止。
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 操作异常终止。
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 操作异常终止。
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 逻辑名字改了会报错的,不要改
go然后执行restore语句