1

这让我现在很沮丧!

我最初在 C#.NET 中创建了一个用于恢复/备份数据库的应用程序,它之前确实可以工作,但不知何故它现在无法正常工作;即使我的代码是相同的。

我收到错误消息 Microsoft.SqlServer.Management.Smo.FailedOperationException 并且我一直在寻找此错误消息的解决方案几个小时。

谁能帮我吗?

这是我的代码-

            //call restore class
            Restore sqlRestore = new Restore();

            //set the restore type to a database restore 
            sqlRestore.Action = RestoreActionType.Database;

            //select database
            Database db = sqlServer.Databases["database"];

            //stop all process on specific database
            sqlServer.KillAllProcesses("database");

            //Backup device type i.e. backup file 
            BackupDeviceItem deviceItem = new BackupDeviceItem(@"C:\Program Files (x86)\" + _filename, DeviceType.File);

            //add device type to restore class 
            sqlRestore.Devices.Add(deviceItem);

            //if database already exists, replace it 
            sqlRestore.ReplaceDatabase = true;               

            //perform the restore 
            sqlRestore.SqlRestore(sqlServer);
4

1 回答 1

0

尝试放置除 Program Files 之外的备份文件。我认为您正在使用 Windows Vista/7。对该文件夹的文件操作需要管理员权限。要检查这是否是问题,我建议您这样做:

string path = System.Environment.GetEnvironmentVariable("TEMP").ToString() + "\\" + _filename;
BackupDeviceItem deviceItem = new BackupDeviceItem(path, DeviceType.File);
于 2012-06-25T20:36:05.377 回答