我有一个代码博客,但发生了一个问题。在这里,我的备份文件是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'
我收到了这些错误:
Msg 5133,Level 16,State 1,Line 1
文件“C:\ Program Files \ Microsoft SQL Server \ MSSQL10.SQLSRV2008 \ MSSQL \ DATA \ OBERNET_DENEME.mdf”的目录查找失败, 操作系统错误3(无法检索此错误的文本。 原因:15105)。
Msg 3156,Level 16,State 3,Line 1
文件'OCEAN'无法还原到'C:\ Program Files \ Microsoft SQL Server \ MSSQL10.SQLSRV2008 \ MSSQL \ DATA \ OBERNET_DENEME.mdf'。使用WITH 移动以识别文件的有效位置 Msg 5133,Level 16,State 1,Line 1
文件“C:\ Program Files \ Microsoft SQL Server \ MSSQL10.SQLSRV2008 \ MSSQL \ DATA \ OBERNET_DENEME.ldf”的目录查找失败, 操作系统错误3(无法检索此错误的文本。 原因:15105)。
Msg 3156,Level 16,State 3,Line 1
文件'OCEAN_log'无法还原到'C:\ Program Files \ Microsoft SQL Server \ MSSQL10.SQLSRV2008 \ MSSQL \ DATA \ OBERNET_DENEME.ldf'。使用WITH 移动以识别文件的有效位置 消息3119,级别16,状态1,行1 在规划RESTORE语句时发现了问题。以前的消息提供了详细信息 消息3013,级别16,状态1,行1 RESTORE DATABASE异常终止。
答案 0 :(得分: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文件并将其恢复为新数据库(您可以为其命名)。
Fire SQL Server Management Studio,以管理员身份连接到服务器,右键单击数据库节点并选择还原。
答案 1 :(得分:0)