偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

SQL Server SMO備份數(shù)據(jù)庫進(jìn)度條不顯示的原因

數(shù)據(jù)庫 SQL Server
以下的文章主要向大家講述的是SQL Server SMO備份數(shù)據(jù)庫進(jìn)度條不顯示這一奇怪問題,以及對其實(shí)際解決原因的描述。

我們今天主要向大家描述的是SQL Server SMO備份數(shù)據(jù)庫進(jìn)度條不顯示這一問題,假如你在實(shí)際操作中遇到相似的情況,但是你卻不知道對其如何正確的解決,那么以下的文章對你而言一定是良師益友。

一個(gè)奇怪的問題,用SQL Server  SMO備份數(shù)據(jù)庫時(shí)不顯示進(jìn)度條,也就是進(jìn)度條事件PercentComplete不觸發(fā)。 今天試了一下,果然有點(diǎn)奇怪。

代碼如下:
 

 

  1. using Microsoft.SqlServer.Management.Smo;  
  2. using Microsoft.SqlServer.Management.Common;  
  3. private void btnBackup_Click(object sender, EventArgs e)  
  4. {  
  5. btnBackup.Enabled = false;  
  6. Thread tr = new Thread(new ThreadStart(doBackup));  
  7. tr.Priority = ThreadPriority.AboveNormal;  
  8. tr.Start();  
  9. //Thread.Sleep(3000);  
  10. }  
  11. /// <summary> 
  12.  

備份數(shù)據(jù)庫

  1. /// </summary> 
  2. public void doBackup()  
  3. {  
  4. pbDemo.Value = 0;  
  5. pbDemo.Maximum = 100;  
  6. pbDemo.Style = ProgressBarStyle.Blocks;  
  7. //pbDemo.Step = 10;  
  8. Server srv = new Server(@"(local)");  
  9. Backup backup = new Backup();  
  10. backup.Action = BackupActionType.Database;  
  11. backup.Database = "btnet";  
  12. backup.Incremental = false;  
  13. backup.Devices.Add(new BackupDeviceItem(@"C:\agronet09.bak", DeviceType.File));  
  14. backup.Initialize = true;  
  15. backup.PercentCompleteNotification = 10;  
  16. backup.PercentComplete += new PercentCompleteEventHandler(backup_PercentComplete);  
  17. //backup.Checksum = true;  
  18. backup.SqlBackup(srv);  
  19. }  
  20. public void backup_PercentComplete(object sender, Microsoft.SqlServer.Management.Smo.PercentCompleteEventArgs e)  
  21. {  
  22. this.Invoke(new displayProgress_delegate(displayProgress), e.Percent);  
  23. //Application.DoEvents();  
  24. }  
  25. public delegate void displayProgress_delegate(int progress);  
  26. public void displayProgress(int progress)  
  27. {  
  28. this.lbProgress.Text = "已完成[" + progress.ToString() + " %]";  
  29. pbDemo.Value = progress;  
  30. btnBackup.Enabled = (progress == 100);  
  31. }  

癥狀如下:結(jié)果正確執(zhí)行,但進(jìn)度條不顯示。
 

剛開始以為是線程問題,后來發(fā)現(xiàn)不是這個(gè)原因。

又試了另外一段代碼
 

 

  1. using Microsoft.SqlServer.Management.Smo;  
  2. using Microsoft.SqlServer.Management.Common;  
  3. using System.Diagnostics;  
  4. static void Main(string[] args)  
  5. {  
  6. BackupDatabase("ap4\\agronet09", "agronet2008", "c:\\Northind_3.bak");  
  7. Console.WriteLine(Environment.NewLine + "Press any key to continue.");  
  8. Console.ReadKey();  
  9. }  
  10. public static void BackupDatabase(string serverName, string databaseName, string fileName)  
  11. {  
  12. Console.WriteLine("*** Backing up ***");  
  13. Server server = new Server(serverName);  
  14. Backup backup = new Backup();  
  15. backup.Action = BackupActionType.Database;  
  16. backup.Database = databaseName;  
  17. backup.Incremental = false;  
  18. backup.Initialize = true;  
  19. backup.LogTruncation = BackupTruncateLogType.Truncate;  
  20. BackupDeviceItem backupItemDevice = new BackupDeviceItem(fileName, DeviceType.File);  
  21. backup.Devices.Add(backupItemDevice);  
  22. backup.PercentCompleteNotification = 10;  
  23. backup.PercentComplete += backup_PercentComplete;  
  24. backup.Complete +=backup_Complete;  
  25. backup.SqlBackup(server);  
  26. }  
  27. protected static void backup_PercentComplete(object sender, PercentCompleteEventArgs e)  
  28. {  
  29. Console.WriteLine(e.Percent + "% processed.");  
  30. //Application.();  
  31. System.Threading.Thread.Sleep(1000);  
  32. }  
  33. protected static void backup_Complete(object sender, ServerMessageEventArgs e)  
  34. {  
  35. Console.WriteLine(Environment.NewLine + e.ToString());  
  36. }  

結(jié)果還是不顯示。

后來突然想到會不會是文件太小,試了一個(gè)200M的數(shù)據(jù)文件,果然成功顯示:

 


后來經(jīng)反復(fù)實(shí)驗(yàn),發(fā)現(xiàn)SQL server 2000約在數(shù)據(jù)文件加日志文件大于6M左右時(shí)顯示進(jìn)度條。

而Sql server 2008 r2大約在3M時(shí)顯示進(jìn)度條??赡芨鷻C(jī)器也有關(guān)系。

以上的相關(guān)內(nèi)容就是對SQL Server SMO備份數(shù)據(jù)庫進(jìn)度條不顯示的介紹,望你能有所收獲。

【編輯推薦】

  1. SQL Server數(shù)據(jù)庫中可用格式字符串干什么?
  2. SQL Server 連接字符串的實(shí)現(xiàn)步驟
  3. SQL Server 連接字符串的一些聲明
  4. SQL Server 字符串在實(shí)際操作中的注意事項(xiàng)
  5. MS SQL Server 連接字符串的實(shí)際操作簡介
責(zé)任編輯:佚名 來源: 互聯(lián)網(wǎng)
相關(guān)推薦

2010-07-09 09:34:37

SQL Server數(shù)

2010-07-16 10:29:02

SQL Server

2010-11-10 13:54:27

SQL SERVER自

2011-03-24 09:07:11

SQL Server數(shù)備份

2010-07-08 11:05:14

SQL Server數(shù)

2010-09-13 16:46:10

SQL Server觸

2021-05-17 06:57:34

SQLServer數(shù)據(jù)庫

2011-07-18 15:36:38

定時(shí)自動備份SQLServer

2009-08-18 09:49:00

C# listview

2015-07-31 11:19:43

數(shù)字進(jìn)度條源碼

2010-06-07 14:09:12

mysqldump備份

2010-08-27 09:59:51

SQL Server

2010-10-12 17:23:40

MySQL命令行

2011-02-22 14:53:41

titlebar標(biāo)題欄Android

2010-07-06 15:07:37

SQL Server

2010-07-15 17:28:50

SQL Server

2011-08-22 16:03:30

linuxVPS備份數(shù)據(jù)庫

2020-03-17 08:29:29

數(shù)據(jù)庫備份技術(shù)

2010-05-26 09:01:43

mysqldump備份

2025-06-12 07:13:00

數(shù)據(jù)庫MySQLPump
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號