2

我有一个代码博客,但出现了问题。在这里,我的备份文件是ISBANK.bak,数据库名称是新的数据库名称。它不包含任何东西。我想将.bak文件的内容添加到新数据库..

RESTORE DATABASE [DBName]
FROM DISK = 'D:\ISBANK.bak'
WITH REPLACE,
MOVE 'DBName' TO 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQL2008RR2\MSSQL\DATA\DBName.mdf',
MOVE 'DBName' TO 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQL2008RR2\MSSQL\DATA\DBName.ldf'

我收到这些错误:

消息 5133,级别 16,状态 1,第 1 行
文件“C:\Program Files\Microsoft SQL Server\MSSQL10.SQLSRV2008\MSSQL\DATA\OBERNET_DENEME.mdf”的目录查找失败,出现操作系统错误 3(无法检索此错误的文本。原因:15105)。
消息 3156,级别 16,状态 3,第 1 行
文件“OCEAN”无法恢复到“C:\Program Files\Microsoft SQL Server\MSSQL10.SQLSRV2008\MSSQL\DATA\OBERNET_DENEME.mdf”。使用 WITH MOVE 标识文件的有效位置。
消息 5133,级别 16,状态 1,第 1 行
文件“C:\Program Files\Microsoft SQL Server\MSSQL10.SQLSRV2008\MSSQL\DATA\OBERNET_DENEME.ldf”的目录查找失败,出现操作系统错误 3(无法检索此错误的文本。原因:15105)。
消息 3156,级别 16,状态 3,第 1 行
文件“OCEAN_log”无法恢复到“C:\Program Files\Microsoft SQL Server\MSSQL10.SQLSRV2008\MSSQL\DATA\OBERNET_DENEME.ldf”。使用 WITH MOVE 标识文件的有效位置。
Msg 3119, Level 16, State 1, Line 1
在规划 RESTORE 语句时发现了问题。以前的消息提供了详细信息。
消息 3013,级别 16,状态 1,第 1 行
RESTORE DATABASE 异常终止。

4

2 回答 2

3

编辑

删除 WITH REPLACE

RESTORE DATABASE my_new_database FROM disk = 'E:\path_to_bak_file\database_name_634182143083281212.bak'
WITH
   MOVE 'the logical name from previous operation check row 1' TO 'E:\path_to_sql2008_file_onyour_machine\my_new_database.mdf',
   MOVE 'the logical name from previous operation check row 2' TO 'E:\path_to_sql2008_file_onyour_machine\my_new_database_log.ldf'
GO

您还可以使用 SQL Server Management Studio (SSMS) 中提供的还原实用程序。这是一个循序渐进的过程,您可以选择 .bak 文件并将其还原为新数据库(您喜欢的任何名称)。

启动 SQL Server Management Studio,以管理员身份连接到服务器,右键单击数据库节点并选择恢复。

在此处输入图像描述

于 2012-12-26T13:43:31.073 回答
0

您已使用默认路径进行数据库恢复。

这将对您有用。

在此处输入图像描述

于 2019-08-19T14:48:17.027 回答