Estou tentando usar sp_DatabaseRestore
o SQL Server First Responder Kit para restaurar alguns bancos de dados. Funciona bem se eu primeiro restaurar o banco de dados de maneira normal usando o SSMS, mas se o banco de dados não existir anteriormente, ele diz que não conseguiu encontrar o arquivo especificado (para ambos os dados e arquivos de log).
Também termina com a seguinte mensagem:
O banco de dados "DatabaseName" não existe. RESTORE só pode criar um banco de dados ao restaurar um backup completo ou um backup de arquivo do arquivo principal.
Mas o primeiro caminho é para o backup completo, então não tenho certeza do que isso significa.
Existe algum uso específico dos parâmetros que me ajudaria a usar isso mesmo quando o banco de dados não existe ou sou forçado a criá-los primeiro?
Todas as sugestões apreciadas.
Edit: Código que é usado (caminhos e nomes foram alterados). O código falhará se o banco de dados não existir. Se eu criar o banco de dados, ele funcionará:
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
Edit 2: Acontece que havia uma diferença nos nomes das pastas de arquivos de dados entre o antigo e o novo servidor. O servidor antigo tinha um número de versão inferior à versão real do SQL Server, provavelmente devido a uma atualização anterior. Ao tentar restaurar de um backup com a pasta de dados correta, não há problema.
Acontece que havia uma diferença nos nomes das pastas de arquivos de dados entre o antigo e o novo servidor. O servidor antigo tinha um número de versão inferior à versão real do SQL Server, provavelmente devido a uma atualização anterior. Ao tentar restaurar de um backup com a pasta de dados correta, não há problema.