-1

我正在使用 smo 使用这种编码,但什么也没发生。

        Restore res = new Restore();
        res.Devices.AddDevice(@"D:\Shivam.bak", DeviceType.File);
        BackupDeviceItem bkpDevice = new BackupDeviceItem(@"\\hqsqlbkup1\VN\Shivam.bak", DeviceType.File);
        res.Database = "ShivamDb";
        res.Action = RestoreActionType.Database;
        res.RelocateFiles.Add(new RelocateFile("Shivam", @"+ System.Windows.Forms.Application.StartupPath +\\Shivam.mdf"));
        res.RelocateFiles.Add(new RelocateFile("Shivam_log", @"System.Windows.Forms.Application.StartupPath + \\Shivam_log.ldf"));

        res.ReplaceDatabase = true;
        MessageBox.Show("Restore complited");
4

2 回答 2

2

好的,我看到你创建了一个恢复,初始化了很多 - 但是你在哪里告诉它执行那个?调用 SqlRestore 以实际执行还原在哪里?

不,如果不调用相应的方法,初始化恢复类 (SMO) 不会神奇地执行操作。

于 2012-12-31T06:32:48.247 回答
0

您必须调用 Restore 类的 SqlRestore 或 SqlRestoreAsyc 方法来恢复您的数据库!

在以下链接中,您可以找到有关备份和还原操作的好示例:http ://www.mssqltips.com/sqlservertip/1849/backup-and-restore-sql-server-databases-programmatically-with-smo/

于 2012-12-31T06:41:42.280 回答