Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

jak przywrócić przy użyciu klasy przywracania przestrzeni nazw Microsoft.SqlServer.Management.Smo

Problem jest tutaj

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

tutaj databaseName oznacza nazwę bazy danych określoną w pliku kopii zapasowej db. Ale określasz nazwę docelowej bazy danych.

Zmień go na oryginalną nazwę bazy danych

tutaj przykładowy kod do odczytu nazw baz danych z pliku kopii zapasowej

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. jak zapytać o obiekt Datetime według daty?

  2. Analiza wydajności we/wy dla SQL Server

  3. Samouczek SQL Server — wszystko, czego potrzebujesz do opanowania języka Transact-SQL

  4. Precyzja, skala, suma, podział... Obcinanie

  5. Pobierz listę wszystkich pustych i nie zerowych kolumn w bazie danych SQL Server — samouczek SQL Server / T-SQL, część 53