运行sql server2005我A.数据库我试图恢复备份的数据库B。我想保留一个数据库,并创建一个新的试验数据库B从一个先前设置的数据。

我试图创建和恢复。bak和恢复数据库B从管理工作室。

错误是...

标题:Microsoft SQL服务器管理

工作室

恢复已失败的服务器 '195448-2'.(Microsoft。Sql server.测绘)

为帮助,按一下: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=9.00.1399.00&EvtSrc=Microsoft.SqlServer.Management.Smo.ExceptionTemplates.FailedOperationExceptionText&EvtID=Restore+Server&LinkId=20476

------------------------------ 额外信息:

系统。数据。SqlClient.SqlError:的 备份设置保存的备份 数据库比其他的现有'B' 数据库。(Microsoft。Sql server.测绘)

为帮助,按一下: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=9.00.1399.00&LinkId=20476

------------------------------ 按钮:

"确定"

我找到这段代码我犹豫不决,使用并且想问是否会解决我的问题的改变位置的mdf和ldf期间进程的恢复的数据库或替代数据库的项目。

ALTER DATABASE AdventureWorks
SET SINGLE_USER WITH
ROLLBACK IMMEDIATE
RESTORE DATABASE AdventureWorks
FROM DISK = 'C\:BackupAdventureworks.bak'
WITH MOVE 'AdventureWorks_Data' TO 'C:\Data\datafile.mdf',
MOVE 'AdventureWorks_Log' TO 'C:\Data\logfile.ldf',
REPLACE

[http://blog.sqlauthority.com/2007/04/30/sql-server-fix-error-msg-3159-level-16-state-1-line-1-msg-3013-level-16-state-1-line-1/][1]

和我我会让...

RESTORE DATABASE B
FROM DISK = 'C:\backupofA.bak'
WITH    
MOVE 'B' TO 'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\B.mdf',
MOVE 'B_log' to 'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\B_log.ldf',
REPLACE

什么我不知道是否会影响一个数据库。我希望能的替代指的是文件的相关联B。

或者如果它应该是

RESTORE DATABASE B
FROM DISK = 'C:\backupofA.bak'
WITH    
MOVE 'A' TO 'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\B.mdf',
MOVE 'A_log' to 'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\B_log.ldf',
REPLACE

如果有人能帮助我的错误和/或确认这种修复,我将非常感激,因为它不是我的数据库我玩.

谢谢。

有帮助吗?

解决方案

您可以简单地使用复制数据库向导。 如果你想不喜欢它的优点和使用T-SQL恢复.. MOVE ...更换会做你所期望的:移动这两个文件在你想让你的位置,并用备份内容替换数据库B。 A将不会受到影响。

其他提示

我会使用向导,如果我是你:在SQL Server Management Studio中的“数据库”上单击右键,选择“还原数据库...”。这个对话框/向导将不正是你所要求的 - 只需选择要恢复自,输入要恢复并点击“确定”数据库的名称来源.bak文件(S)/数据库

一些注意事项 - 如果您输入这并不还不存在(这听起来像这是你想要做什么)的数据库的名称,它会创建该数据库为您服务。如果输入现有数据库的名称,它会尝试恢复该数据库。如果你尝试恢复从做出了不同的数据库将失败的备份现有的数据库,但是你可以强制SQL服务器进入“选项”,选中“覆盖现有数据库”复选框以覆盖现有的数据库。

此外,如果要还原现有数据库的备份创建数据库的一个新的第二个副本,你可能会发现向导未能为尝试使用同一个数据库文件的路径为那些目前使用创建数据库由源数据库。为了解决这个问题,你需要点击“选项”,改变所有的“还原为”文件路径到不尚不存在的文件。

您也可以得到这个向导生成的SQL脚本,而不是实际执行实际恢复(点击顶部的“脚本”按钮),如果你想学习如何做这样的事情在原料这是很方便SQL来代替。

可以从SQL Server 7,SQL Server 2000的恢复数据库到SQL Server 2005。 它可以通过使用恢复,并用替换命令来实现

use master 

restore database mydatabase from disk ='c:\mybackup.bak' with replace 

这是很容易使用该脚本没有任何外部工具来采取在SQL服务器的备份。

查核还原用实施例的。

降数据库B第一。然后执行恢复。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top