Я восстанавливаю базу данных из файла с именем databasebkup.bak
(сохраненного в C:\\databasebkup.bak
) в базу данных Sql Server 2005 с именем MyDatabase.
Я ссылался на Microsoft.SqlServer.Management.Common;Microsoft.SqlServer.Management.Sdk.Sfc;
и Microsoft.SqlServer.Management.Smo
вмой код, который выглядит следующим образом:
Microsoft.SqlServer.Management.Smo.Server smoServer = new Server(
new ServerConnection("."));
Database db = smoServer.Databases["MyDatabase"];
string dbPath = Path.Combine(db.PrimaryFilePath, "MyDatabase.mdf");
string logPath = Path.Combine(db.PrimaryFilePath, "MyDatabase_Log.ldf");
Restore restore = new Restore();
var deviceItem = new BackupDeviceItem("C:\\databasebkup.bak", DeviceType.File);
restore.Devices.Add(deviceItem);
restore.Database = "C:\\databasebkup.bak";
//restore.FileNumber = restoreFileNumber;
restore.Action = RestoreActionType.Database;
restore.ReplaceDatabase = true;
restore.SqlRestore(smoServer);
db.SetOnline();
smoServer.Refresh();
db.Refresh();
Но при восстановлении он возвращает эту ошибку:
Не удалось восстановить имя сервера сервера '
Может кто-нибудь сказать мне, где я иду не так?