- [C#] Di chuyển và thay đổi kích thước Control Winform khi ứng dụng đang chạy
- [VB.NET] Chia sẻ source tạo sắp xếp đội hình bóng đá Line-ups đội bóng
- [C#] Hướng dẫn chỉnh sửa Text của label trực tiếp trên winform
- [C#] Hướng dẫn custom TextBox giống Ultraviewer trên Winform
- [C#] Show Modal Winform like Bootstrap
- [DATABASE] Thứ tự thực hiện mệnh đề truy vấn SELECT trong Sqlserver
- [C#] Hướng dẫn viết addin Excel Lấy hình ảnh từ URL internet vào Excel
- [DATABASE] TSQL view max length all column data trên table Sqlserver
- [DEVEXPRESS] Hướng dẫn sử dụng MailMerge kèm Hình ảnh trên Winform
- [DATABASE] Hướng dẫn truy vấn xem kích thước lưu trữ của từng bảng ghi Table trên sqlserver
- [C#] Hướng dẫn Fake Date Time sử dụng thư viện Harmony
- [DATABASE] Phân biệt câu lệnh DDL và DML trong sqlserver
- [C#] Hướng dẫn convert file mã HTML sang file Pdf trên winform
- [DEVEXPRESS] Tạo các loại mã vạch Barcode trực tiếp trên Devexpress Barcode API
- [DEVEXPRESS] Hướng dẫn custom Simple button thành Progressbar
- [DATABASE] Tách số và chữ từ chuỗi - hàm tối ưu hóa tách số và chữ trong Sqlserver
- [C#] Tìm kiếm gần đúng Full Text Search sử dụng thư viện Lucene.NET
- [C#] Chia sẻ tài liệu, sdk và source code máy chấm công dòng máy ZKTeco
- [C#] Memory Cache là gì, và sử dụng trong ứng dụng Winform
- [DATABASE] Khóa chính Primary Key trong Sqlserver
[C#] Hướng dẫn Restore Database Sqlserver with Progress bar sử dụng thư viện SQL SMO
Xin chào các bạn, bài viết hôm nay mình sẽ hướng dẫn các bạn sử dụng thư viện Sql SMO của Microsoft cung cấp để thực hiện khôi phục dữ liệu Restore database Sqlserver và hiển thị phần trăm hoàn thành lên Progressbar C#.
Trong lập trình ứng dụng C#, các ứng dụng quản lý, chúng ta thường viết thêm một module để thực hiện công việc backup và restore database hàng ngày.
Và trong bài viết này, các bạn có thể sử dụng thể thực hiện công việc khôi phục dữ liệu cho ứng dụng của mình.
Giao diện demo ứng dụng Restore Database C#:
Đầu tiên, các bạn cần import thư viện sqlserver sql smo vào, các bạn có thể download ứng dụng của mình bên dưới cuối bài để import thư viện vào nhé.
Source code C# Restore Database Sqlserver:
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 RestoreDatabaseSQL
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void btn_restore_Click(object sender, EventArgs e)
{
progressBar.Value = 0;
try
{
Server dbServer = new Server(new ServerConnection(txt_server.Text, txt_username.Text, txt_password.Text));
Restore dbRestore = new Restore() { Database = txt_database.Text, Action = RestoreActionType.Database, ReplaceDatabase = true, NoRecovery = false };
dbRestore.Devices.AddDevice(txt_filebackup.Text, DeviceType.File);
dbRestore.PercentComplete += DbRestore_PercentComplete;
dbRestore.Complete += DbRestore_Complete;
dbRestore.SqlRestoreAsync(dbServer);
}
catch (Exception ex)
{
lbl_status.Text = ex.Message;
}
}
private void DbRestore_Complete(object sender, ServerMessageEventArgs e)
{
if (e.Error != null)
{
lbl_percent.BeginInvoke(new Action(() =>
{
lbl_percent.Text = e.Error.Message;
}));
}
}
private void DbRestore_PercentComplete(object sender, PercentCompleteEventArgs e)
{
progressBar.BeginInvoke(new Action(() =>
{
progressBar.Value = e.Percent;
progressBar.Update();
}));
lbl_percent.BeginInvoke(new Action(() =>
{
lbl_percent.Text = $"{e.Percent}%";
}));
}
}
}
HAPPY CODING
Tham khảo bài viết từ youtube FoxLearn