Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

como restaurar usando a classe de restauração do namespace Microsoft.SqlServer.Management.Smo


Problema está aqui
sqlRestore.RelocateFiles.Add(new RelocateFile(databaseName, dataFileLocation));
sqlRestore.RelocateFiles.Add(new RelocateFile(databaseName + "_log", logFileLocation));

aqui databaseName significa, nome do banco de dados especificado no arquivo de backup db. Mas você está especificando o nome do banco de dados de destino.

Altere-o para o nome original do db

aqui o código de exemplo para ler nomes de db do arquivo de backup
DataTable dtFileList = sqlRestore.ReadFileList(serverName);
string dbLogicalName = dtFileList.Rows[0][0].ToString();
string dbPhysicalName = dtFileList.Rows[0][1].ToString();
string logLogicalName = dtFileList.Rows[1][0].ToString();
string logPhysicalName = dtFileList.Rows[1][1].ToString