Windows Forms: Backup SQL Server in C#
By FoxLearn 6/20/2017 9:21:47 PM 8.12K
How to Create a Full Database Backup in C#
Step 1: Click New Project, then select Visual C# on the left, then Windows and then select Windows Forms Application. Name your project "BackupDatabase" and then click OK
Step 2: Design your form as below
Step 3: Add references to Microsoft.SqlServer.ConnectionInfo, Microsoft.SqlServer.ConnectionInfoExtended, Microsoft.SqlServer.Smo, Microsoft.SqlServer.SmoExtended
Step 4: Add code to handle your form
using Microsoft.SqlServer.Management.Common; using Microsoft.SqlServer.Management.Smo; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace BackupDatabase { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void btnBackup_Click(object sender, EventArgs e) { progressBar.Value = 0; try { //Init connect to sql database Server dbServer = new Server(new ServerConnection(txtServer.Text, txtUsername.Text, txtPassword.Text)); Backup dbBackup = new Backup() { Action = BackupActionType.Database, Database = txtDatabase.Text }; dbBackup.Devices.AddDevice(@"C:\Data\Northwind.bak", DeviceType.File); dbBackup.Initialize = true; dbBackup.PercentComplete += DbBackup_PercentComplete; dbBackup.Complete += DbBackup_Complete; dbBackup.SqlBackupAsync(dbServer); } catch(Exception ex) { MessageBox.Show(ex.Message, "Message", MessageBoxButtons.OK, MessageBoxIcon.Error); } } private void DbBackup_Complete(object sender, ServerMessageEventArgs e) { if (e.Error != null) { //Update status with multiple threads lblStatus.Invoke((MethodInvoker)delegate { lblStatus.Text = e.Error.Message; }); } } private void DbBackup_PercentComplete(object sender, PercentCompleteEventArgs e) { //Update percentage, progressbar progressBar.Invoke((MethodInvoker)delegate { progressBar.Value = e.Percent; progressBar.Update(); }); lblPercent.Invoke((MethodInvoker)delegate { lblPercent.Text = $"{e.Percent}%"; }); } } }
VIDEO TUTORIALS
- Windows Forms: How to make an Application auto run on Windows startup in C#
- Windows Forms: Wait Form Dialog in C#
- How to create a Lucky Draw games in C#
- Windows Forms: Youtube Search with Paging in C#
- Windows Forms: Text to speech in C#
- Windows Forms: Print Picture Box in C#
- Windows Forms: Advanced Filter DataGridView in C#
- Windows Forms: Progress Bar in C#
Categories
Popular Posts
Visual Studio: Auto increment version
04/01/2024
What is ARM architecture?
04/01/2024