Problem ist hier
sqlRestore.RelocateFiles.Add(new RelocateFile(databaseName, dataFileLocation));
sqlRestore.RelocateFiles.Add(new RelocateFile(databaseName + "_log", logFileLocation));
hier bedeutet Datenbankname den Namen der Datenbank, die in der DB-Sicherungsdatei angegeben ist. Aber Sie geben den Namen der Zieldatenbank an.
Ändern Sie ihn in den ursprünglichen Datenbanknamen
hier der Beispielcode zum Lesen von DB-Namen aus der Sicherungsdatei
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