visual studio 2008 -如何在c# windows应用程序中从.bak文件恢复.mdf数据库

本文关键字:bak 文件 恢复 数据库 mdf 应用程序 windows 2008 studio visual | 更新日期: 2023-09-27 17:49:58

我正在使用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");

visual studio 2008 -如何在c# windows应用程序中从.bak文件恢复.mdf数据库

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

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

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

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