我正在尝试使用sp_DatabaseRestore
SQL Server First Responder Kit来恢复一些数据库。如果我首先使用 SSMS 以正常方式恢复数据库,它工作正常,但如果数据库以前不存在,它会说它找不到指定的文件(对于两个数据和日志文件)。
它还以以下消息结束:
数据库“DatabaseName”不存在。RESTORE 只能在恢复主文件的完整备份或文件备份时创建数据库。
但是第一个路径是完整备份,所以我不确定这意味着什么。
即使数据库不存在,是否有一些特殊的参数用途可以帮助我使用它,或者我是否被迫先创建它们?
任何建议表示赞赏。
编辑:使用的代码(路径和名称已更改)。如果数据库不存在,代码将失败。如果我创建数据库,那么它会工作:
DECLARE @VersionDate datetime;
EXEC dbo.sp_DatabaseRestore @Database = N'DatabaseName',
@BackupPathFull = N'\\SERVERNAME\Backup\servername-wfcs$ServerNameAG01\DatabaseName\FULL\',
@BackupPathLog = N'\\SERVERNAME\Backup\servername-wfcs$ServerNameAG01\DatabaseName\LOG\',
@MoveFiles = 0,
@ContinueLogs = 0,
@RunRecovery = 1,
@ForceSimpleRecovery = 0,
@Debug = 0,
@VersionDate = @VersionDate OUTPUT
编辑 2:事实证明,新旧服务器之间的数据文件文件夹名称有所不同。旧服务器的版本号低于 SQL Server 的实际版本,可能是由于较早的就地升级。当尝试使用正确的数据文件夹从备份中恢复时,没有问题。
事实证明,新旧服务器之间的数据文件夹名称有所不同。旧服务器的版本号低于 SQL Server 的实际版本,可能是由于较早的就地升级。当尝试使用正确的数据文件夹从备份中恢复时,没有问题。