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 に答える