समस्या यहाँ है
sqlRestore.RelocateFiles.Add(new RelocateFile(databaseName, dataFileLocation));
sqlRestore.RelocateFiles.Add(new RelocateFile(databaseName + "_log", logFileLocation));
यहां डेटाबेसनाम का अर्थ है, डीबी बैकअप फ़ाइल में निर्दिष्ट डेटाबेस का नाम। लेकिन आप गंतव्य डीबी नाम निर्दिष्ट कर रहे हैं।
इसे मूल डीबी नाम में बदलें
यहाँ बैकअप फ़ाइल से db नाम पढ़ने के लिए नमूना कोड है
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