tom*_*bom 2 sql-server backup sql-server-2008-r2 restore
服务器“servername”的还原失败。(Microsoft.SqlServer.SmoExtended)
System.Data.SqlClient.SqlError: RESTORE 无法启动数据库“ECP”。(Microsoft.SqlServer.Smo)
数据库已创建,但无法使用对象资源管理器访问:
数据库 ECP 不可访问。(对象浏览器)
感谢您提供有关如何使数据库正常工作的任何建议。
编辑:此查询
select state_desc from sys.databases where name = 'ECP';
Run Code Online (Sandbox Code Playgroud)
返回RECOVERY_PENDING
。
我再次删除了数据库并进行了新的尝试
restore verifyonly from disk = 'path\file';
Run Code Online (Sandbox Code Playgroud)
这返回
尝试恢复此备份可能会遇到存储空间问题。后续消息将提供详细信息。
“F:\ECPDATA1\ECPDATA1.mdf”指定的路径不在有效目录中。
文件“F:\ECPDATA2\ECPDATA2.ndf”的目录查找失败,出现操作系统错误 3(无法检索此错误的文本。原因:15100)。
文件“F:\ECPDATA3\ECPDATA3.ndf”的目录查找失败,出现操作系统错误 3(无法检索此错误的文本。原因:15105)。 文件“E:\ECPLOG1\ECPLOG1.ldf”的目录查找失败,出现操作系统错误 21(无法检索此错误的文本。原因:15105)。 文件 1 上的备份集有效。
文件“F:\ECPDATA4\ECPDATA4.ndf”的目录查找失败,出现操作系统错误 3(无法检索此错误的文本。原因:15105)。
既然它说备份集是有效的,我只需要获取指定的文件,使其工作,对吗?但是在这台服务器上我没有驱动器E:
或F:
. 如何在备份文件中调整它?或者是否有可能(我对 windows-server-2008-r2 不太熟悉)在 linux 上有某种符号链接?
您的还原失败,因为您的计算机上没有 E:\ 或 F:\。
RESTORE FILELISTONLY FROM DISK = 'path\file';
- 这将告诉您数据和日志文件的逻辑名称。RESTORE DATABASE
基于此构造命令。例如(假设文件被命名的数据ECP_Data
,ECP_Data_2
等等):
RESTORE DATABASE ECO FROM DISK = 'path\file'
WITH REPLACE, RECOVERY,
MOVE 'ECP_Data' TO 'C:\...path to MSSQL\Data\ECP_Data.mdf',
MOVE 'ECP_Data_2' TO 'C:\...path to MSSQL\Data\ECP_Data2.ndf',
MOVE 'ECP_Data_3' TO 'C:\...path to MSSQL\Data\ECP_Data3.ndf',
MOVE 'ECP_Data_4' TO 'C:\...path to MSSQL\Data\ECP_Data4.ndf',
MOVE 'ECP_Log' TO 'C:\...path to MSSQL\Data\ECP_Log.ldf';
Run Code Online (Sandbox Code Playgroud)
除了纠正逻辑文件名称,替换C:\...path to MSSQL\Data\
与任何路径()你不要想用它来存储数据/日志文件。您不需要每个文件都有一个单独的文件夹,但您可能仍希望将数据和日志文件分开到不同的磁盘上。请注意,如果您选择的任何驱动器缺乏足够的空间来执行还原,它仍然可能会失败。
您似乎正在从具有 E: 和 F: 驱动器的服务器还原数据库。您需要将文件移动到在 RESTORE 期间实际存在的位置。这将提供如下所示的恢复命令(从 SQL Server BOL 中提取):
RESTORE DATABASE MyAdvWorks
FROM AdventureWorks2008R2_Backup
WITH RECOVERY,
MOVE 'AdventureWorks2008R2_Data' TO 'D:\MyData\MyAdvWorks_Data.mdf',
MOVE 'AdventureWorks2008R2_Log' TO 'D:\MyLog\MyAdvWorks_Log.ldf'
Run Code Online (Sandbox Code Playgroud)
您也可以从 UI 执行此操作,方法是转到还原对话框的选项选项卡并在“还原为”列中键入新路径。
归档时间: |
|
查看次数: |
5439 次 |
最近记录: |