[C#] Backup database sqlsever with progress 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ẽ tiếp tục hướng dẫn các bạn cách backup database sqlserver trên Winform C# sử dụng thư viện Sql SMO. Sqlserver SMO là bộ thư viện do Microsoft cung cấp giúp lập trình viên truy xuất và quản trị Database Engine ...
Xin chào các bạn, bài viết hôm nay mình sẽ tiếp tục hướng dẫn các bạn cách backup database sqlserver trên Winform C# sử dụng thư viện Sql SMO.
Sqlserver SMO là bộ thư viện do Microsoft cung cấp giúp lập trình viên truy xuất và quản trị Database Engine một cách chuẩn mực và nhiều tiện ích.
Giao diện backup database With process Window console C#:
- Đầu tiên các bạn cần import thư viện Sqlserver smo vào như hình bên dưới (các bạn có thể lấy file thư viện ở source code của mình).
Source code backup database C#:
using Microsoft.SqlServer.Management.Common; using Microsoft.SqlServer.Management.Smo; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Backup_database_smo { class Program { static void Main(string[] args) { Server dbServer = new Server(new ServerConnection(".", "sa", "minh123")); Backup bkpDBFull = new Backup(); bkpDBFull.Action = BackupActionType.Database; bkpDBFull.Database = "HOB2016"; bkpDBFull.Devices.AddDevice(@"D:Northwnd.bak", DeviceType.File); bkpDBFull.BackupSetName = "Northwnd database Backup"; bkpDBFull.BackupSetDescription = "Northwnd database - Full Backup"; bkpDBFull.ExpirationDate = DateTime.Today.AddDays(10); //NÉN FILE BACKUP bkpDBFull.CompressionOption = BackupCompressionOptions.On; bkpDBFull.Initialize = false; bkpDBFull.PercentCompleteNotification = 1; // cứ 1% thì xuất hiện procress bkpDBFull.PercentComplete += CompletionStatusInPercent; bkpDBFull.Complete += Backup_Completed; Console.WriteLine("Backup Database Northwnd"); var a = Console.ReadKey(); bkpDBFull.SqlBackup(dbServer); } private static void CompletionStatusInPercent(object sender, PercentCompleteEventArgs args) { Console.Clear(); Console.WriteLine("Percent completed: {0}%.", args.Percent); } private static void Backup_Completed(object sender, ServerMessageEventArgs args) { Console.WriteLine("Backup completed!"); Console.WriteLine(args.Error.Message); Console.ReadLine(); } } }
HAPPY CODING
DOWNLOAD SOURCE