Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ';Microsoft.SqlServer.Management.Smo.FailedOperationException';发生在Microsoft.SqlServer.SmoExtended.dll中_C#_Sql Server_Winforms_Smo - Fatal编程技术网

C# ';Microsoft.SqlServer.Management.Smo.FailedOperationException';发生在Microsoft.SqlServer.SmoExtended.dll中

C# ';Microsoft.SqlServer.Management.Smo.FailedOperationException';发生在Microsoft.SqlServer.SmoExtended.dll中,c#,sql-server,winforms,smo,C#,Sql Server,Winforms,Smo,我想在windows窗体应用程序中备份和还原数据库。 这样数据就不会丢失 我的代码如下: using System; using System.Collections.Generic; using System.Linq; using System.Data; using System.Data.SqlClient; using System.Text; using System.Threading.Tasks; using Microsoft.SqlServer.Server; using M

我想在windows窗体应用程序中备份和还原数据库。 这样数据就不会丢失

我的代码如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Data;
using System.Data.SqlClient;
using System.Text;
using System.Threading.Tasks;
using Microsoft.SqlServer.Server;
using Microsoft.SqlServer.Management.Sdk.Sfc;
using Microsoft.SqlServer.Management.Smo;
using Microsoft.SqlServer.Management.Common;


namespace Lodging
{
    class BackupAndRestoreData
    {
        public static void BackupDatabase(string backUpFile)
        {
            ServerConnection con = new ServerConnection(@"ANI-PC\MSSQLSERVER");
            Server server = new Server(con);
            Backup source = new Backup();
            source.Action = BackupActionType.Database;
            source.Database = "db_Lodge";
            BackupDeviceItem destination = new BackupDeviceItem(backUpFile, DeviceType.File);
            source.Devices.Add(destination);
            source.SqlBackup(server);
            con.Disconnect();
            System.Windows.Forms.MessageBox.Show("Backup Successful!!!");
        }

        public static void RestoreDatabase(string backUpFile)
        {
            ServerConnection con = new ServerConnection(@"ANI-PC\MSSQLSERVER");
            Server server = new Server(con);
            Restore destination = new Restore();
            destination.Action = RestoreActionType.Database;
            destination.Database = "db_Lodge";
            BackupDeviceItem source = new BackupDeviceItem(backUpFile, DeviceType.File);
            destination.Devices.Add(source);
            destination.ReplaceDatabase = true;
            destination.SqlRestore(server);
            System.Windows.Forms.MessageBox.Show("Restored Successful!!!");
            con.Disconnect();
        }
    }
}
进行备份时,我收到异常:

An unhandled exception of type 'Microsoft.SqlServer.Management.Smo.FailedOperationException' occurred in Microsoft.SqlServer.SmoExtended.dll
异常发生在

source.SqlBackup(server);

由于这是一项重要的任务,您能告诉我如何解决此问题吗?

递归获取所有内部异常。我几乎可以保证,堆栈底部的一个将告诉您实际问题是什么。您的SMO程序集安装不正确。请参阅,