成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

在那種情況下SQL Server數據庫中SMO進度條不顯示?

數據庫 SQL Server
我們那今天主要是向大家講述的是是在那種情況下會出現SQL Server數據庫中SMO備份數據庫進度條不顯示,以下就是文章的主要內容描述。

此文章主要向大家講述的是在那種情況下會出現SQL Server數據庫中SMO備份數據庫進度條不顯示,同時存在一個十分奇怪的問題,用SMO備份SQL Server數據庫時不顯示進度條,也就是進度條事件PercentComplete不觸發。

 

今天試了一下,果然有點奇怪。

 

一個奇怪的問題,用SMO備份SQL Server數據庫時不顯示進度條,也就是進度條事件PercentComplete不觸發。

 

今天試了一下,果然有點奇怪。

 

代碼如下:

 

  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. /// 備份數據庫  
  13. /// </summary> 
  14. public void doBackup()  
  15. {  
  16. pbDemo.Value = 0;  
  17. pbDemo.Maximum = 100;  
  18. pbDemo.Style = ProgressBarStyle.Blocks;  
  19. //pbDemo.Step = 10;  
  20. Server srv = new Server(@"(local)");  
  21. Backup backup = new Backup();  
  22. backup.Action = BackupActionType.Database;  
  23. backup.Database = "btnet";  
  24. backup.Incremental = false;  
  25. backup.Devices.Add(new BackupDeviceItem(@"C:\agronet09.bak", DeviceType.File));  
  26. backup.Initialize = true;  
  27. backup.PercentCompleteNotification = 10;  
  28. backup.PercentComplete += new PercentCompleteEventHandler(backup_PercentComplete);  
  29. //backup.Checksum = true;  
  30. backup.SqlBackup(srv);  
  31. }  
  32. public void backup_PercentComplete(object sender, Microsoft.SqlServer.Management.Smo.PercentCompleteEventArgs e)  
  33. {  
  34. this.Invoke(new displayProgress_delegate(displayProgress), e.Percent);  
  35. //Application.DoEvents();  
  36. }  
  37. public delegate void displayProgress_delegate(int progress);  
  38. public void displayProgress(int progress)  
  39. {  
  40. this.lbProgress.Text = "已完成[" + progress.ToString() + " %]";  
  41. pbDemo.Value = progress;  
  42. btnBackup.Enabled = (progress == 100);  
  43. }  

癥狀如下:結果正確執行,但進度條不顯示。

剛開始以為是線程問題,后來發現不是這個原因。

又試了另外一段代碼

 

  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. }  

結果還是不顯示。

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

 

 

后來經反復實驗,發現SQL server 2000約在數據文件加日志文件大于6M左右時顯示進度條。

 

而Sql server 2008 r2大約在3M時顯示進度條。可能跟機器也有關系。

 

以上的相關內容就是對SQL Server數據庫中SMO備份數據庫進度條的介紹,望你能有所收獲。

【編輯推薦】

  1. C#來對SQL Server存儲過程進行創建
  2. SQL Server索引實際結構的理解
  3. 添加Microsoft SQL Server 2000 Desktop Engine
  4. 安裝MS SQL Server 2000失敗的緣由是什么?
  5. Sql Server 日期格式化之函數GETDATE() 代碼

 

責任編輯:佚名 來源: csdn.net
相關推薦

2010-06-18 12:52:01

SQL Server

2009-08-18 09:49:00

C# listview

2015-07-31 11:19:43

數字進度條源碼

2010-10-22 17:22:05

sql server刪

2010-04-14 17:46:10

Oracle數據庫

2011-02-22 14:53:41

titlebar標題欄Android

2010-10-22 17:26:55

SQL Server刪

2015-01-12 12:13:03

Android進度條ProgressDia

2015-01-12 09:30:54

Android進度條ProgressDia

2010-07-15 17:28:50

SQL Server

2010-06-30 10:55:13

SQL Server日

2010-07-13 16:07:26

SQL Server行

2011-07-05 15:16:00

QT 進度條

2024-08-06 14:29:37

2012-07-31 09:53:33

HTML5進度條

2010-07-22 14:46:41

SQL Server

2011-03-28 12:33:09

SQL Server數據庫鏈接

2011-03-29 09:40:31

SQL Server數據庫鏈接

2009-08-17 15:05:41

C#進度條

2023-03-06 07:25:17

LinuxAdvanced
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 成人毛片在线观看 | 免费毛片www com cn | 久久99国产精一区二区三区 | 久久综合一区 | 精品国产99 | 日韩乱码在线 | 韩日在线观看视频 | 亚洲欧美在线观看 | 亚洲毛片 | 久久久国产精品 | 福利视频网址 | 中文字幕一区二区三区在线乱码 | 一区二区在线 | 亚洲美女天堂网 | 国产精品高潮呻吟久久aⅴ码 | 国产丝袜一区二区三区免费视频 | 999热视频 | 亚洲欧美一区二区三区1000 | 欧美一区成人 | 亚洲一区 | 成人深夜福利在线观看 | 超碰成人免费 | 成人免费影院 | 国产免费一区二区 | 日本在线中文 | 亚洲精品久久久久久久久久久 | 日操操夜操操 | 四虎国产 | 亚洲精品91| 久久精品国产一区二区 | 欧美激情一区二区三级高清视频 | 亚洲一区二区在线视频 | 国产精品久久久久久久午夜 | 偷拍自拍在线观看 | 午夜男人视频 | 国产伦精品一区二区三区视频金莲 | 九九久视频 | japanhd美女动 | 日韩av一区二区在线观看 | 日韩免费av | 亚洲在线高清 |