Восстановление базы данных из другой базы данных SMO - PullRequest
0 голосов
/ 18 ноября 2010

Как я могу восстановить базу данных из другой базы данных?

Когда я делаю из восстановления файла, я делаю так:

Restore sqlRestore = new Restore ();

 BackupDeviceItem deviceItem = new BackupDeviceItem(filePath, DeviceType.File);
    sqlRestore.Devices.Add(deviceItem);
    sqlRestore.Database = databaseName;

    ServerConnection connection = new ServerConnection(serverName, userName, password);
    Server sqlServer = new Server(connection);

    Database db = sqlServer.Databases[databaseName];
    sqlRestore.Action = RestoreActionType.Database;
    String dataFileLocation = dataFilePath + databaseName + ".mdf";
    String logFileLocation = logFilePath + databaseName + "_Log.ldf";


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


    sqlRestore.SqlRestore(sqlServer);

Но как мне восстановить данные из базы данных?Вместо того, чтобы давать файл bak, чтобы указывать саму базу данных в качестве источника?

Спасибо.

1 Ответ

0 голосов
/ 18 ноября 2010

Я думаю, что вы, вероятно, должны смотреть на объект SMO Transfer.

Но, сказав это, самый простой способ скопировать полную базу данных - это обычно сделать ее резервную копию и восстановить ее с другим именем. Или вы можете использовать мастер копирования базы данных.

См. «Копирование баз данных на другие серверы» в Books Online для получения дополнительной информации.

...