繁体   English   中英

使用C#代码备份失败

[英]Backup failed using C# Code

我的问题是我无法使用C#代码在wpf中备份数据库。 错误是“服务器'DELL / LOCALSERVER'备份失败。 我正在使用的代码是这样的:

私有无效btnBackup_Click(对象发送者,RoutedEventArgs e)

{
  if (!string.IsNullOrEmpty(txtPath.Text) && !string.IsNullOrWhiteSpace(txtPath.Text)
    && !string.IsNullOrEmpty(txtFileName.Text) && !string.IsNullOrWhiteSpace(txtFileName.Text))
  {
    BackupFilePath = txtPath.Text + "" + txtFileName.Text + ".bak";
    Server sqlServerInstance = new Server(new Microsoft.SqlServer.Management.Common.ServerConnection
      (new System.Data.SqlClient.SqlConnection(h2prdb.ConnectionString)));
    Backup objBackup = new Backup();
    objBackup.Database = "H2RPDB";
    objBackup.Action = BackupActionType.Database;
    objBackup.Devices.AddDevice(@BackupFilePath, DeviceType.File);
    objBackup.SqlBackup(sqlServerInstance);
    System.Windows.Forms.MessageBox.Show("The backup of database " + "'H2RPDB'" + " completed sccessfully", "Microsoft SQL Server Management Studio", MessageBoxButtons.OK, MessageBoxIcon.Information);
  }
  else
  {
    System.Windows.Forms.MessageBox.Show("Please fill-up all fields!",
      "Backup/Restore", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  }
}

我不知道此代码是什么新问题。 感谢您的回答。

您可以使用下面提到的代码

            ServerConnection con = new ServerConnection(@"ServerName");
            Server server = new Server(con);
            Backup source = new Backup();
            source.Action = BackupActionType.Database;
            source.Database = "DBName";
            BackupDeviceItem destination = new BackupDeviceItem(@"C:\tmp\temp.bak", DeviceType.File);
            source.Devices.Add(destination);
            source.SqlBackup(server);
            con.Disconnect();

确保已以管理员身份打开Visual Studio。 并且您必须包含以下提及的代码才能运行上述代码

Microsoft.SqlServer.ConnectionInfo.dll
Microsoft.SqlServer.Management.Sdk.Sfc.dll
Microsoft.SqlServer.Smo.dll
Microsoft.SqlServer.SmoExtended.dll

您将在C:\\Program Files\\Microsoft SQL Server\\110\\SDK\\Assemblies上找到上述所有DLL

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM