Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

как да възстановите с помощта на клас за възстановяване на пространството от имена на Microsoft.SqlServer.Management.Smo

Проблемът е тук

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

тук databaseName означава името на базата данни, посочена в db архивния файл. Но вие посочвате името на целевата база данни.

Променете го на оригиналното име на база данни

тук е примерният код за четене на имената на 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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Промяна на таблица и добавяне на УНИКАЛЕН ключ води до грешка

  2. Съвети за използване на SQL Server с Salesforce SOQL

  3. Най-простият начин да направите рекурсивно самоприсъединяване?

  4. SQL Server съобщава „Невалидно име на колона“, но колоната присъства и заявката работи чрез студио за управление

  5. Как да завъртите няколко колони без агрегиране