-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

Ok, I see you creating a restore, initializing a lot - but where do you tell it to EXECUTE That? Where is the call to SqlRestore to actually EXECUTE the restore?

No, initializing a Restore class (SMO) will not magically execute the Operation without you calling the corresponding method.

于 2012-12-31T06:32:48.247 に答える
0

データベースを復元するには、Restore クラスの SqlRestore または SqlRestoreAsyc メソッドを呼び出す必要があります。

次のリンクでは、バックアップと復元の操作に関する良い例を見つけることができます

于 2012-12-31T06:41:42.280 に答える