Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

come ripristinare utilizzando la classe di ripristino dello spazio dei nomi Microsoft.SqlServer.Management.Smo

Il problema è qui

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

qui databaseName significa, il nome del database specificato nel file di backup db. Ma stai specificando il nome del db di destinazione.

Cambialo nel nome del db originale

qui il codice di esempio per leggere i nomi dei db dal file di 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