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

SQL Server SMO備份數據庫進度條不顯示的原因

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

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

一個奇怪的問題,用SQL Server  SMO備份數據庫時不顯示進度條,也就是進度條事件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.  

備份數據庫

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

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

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

又試了另外一段代碼
 

 

  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. SQL Server數據庫中可用格式字符串干什么?
  2. SQL Server 連接字符串的實現步驟
  3. SQL Server 連接字符串的一些聲明
  4. SQL Server 字符串在實際操作中的注意事項
  5. MS SQL Server 連接字符串的實際操作簡介
責任編輯:佚名 來源: 互聯網
相關推薦

2010-07-09 09:34:37

SQL Server數

2010-07-16 10:29:02

SQL Server

2010-11-10 13:54:27

SQL SERVER自

2011-03-24 09:07:11

SQL Server數備份

2010-07-08 11:05:14

SQL Server數

2021-05-17 06:57:34

SQLServer數據庫

2010-09-13 16:46:10

SQL Server觸

2011-07-18 15:36:38

定時自動備份SQLServer

2009-08-18 09:49:00

C# listview

2015-07-31 11:19:43

數字進度條源碼

2010-06-07 14:09:12

mysqldump備份

2011-02-22 14:53:41

titlebar標題欄Android

2010-10-12 17:23:40

MySQL命令行

2010-08-27 09:59:51

SQL Server

2010-07-06 15:07:37

SQL Server

2010-05-26 09:01:43

mysqldump備份

2020-03-17 08:29:29

數據庫備份技術

2011-08-22 16:03:30

linuxVPS備份數據庫

2010-07-15 17:28:50

SQL Server

2009-08-27 14:01:41

C#進度條
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 在线观看a视频 | 天天爽夜夜爽精品视频婷婷 | 欧美精品一区在线 | 亚洲欧美中文日韩在线v日本 | 国产在线精品免费 | 91一区二区在线观看 | 亚洲精品视频一区 | 男女激情网站免费 | 成人国产在线观看 | 精品国产第一区二区三区 | 日韩亚洲视频 | 北条麻妃一区二区三区在线视频 | 91精品国产一区 | 久久精品成人一区 | 嫩草最新网址 | 欧美日韩不卡在线 | 久久久久免费 | 久久精品超碰 | 日本精品一区二区三区在线观看视频 | av片免费观看 | 精品国产一区二区 | 国产一二三区精品视频 | 91精品国产欧美一区二区成人 | 国产在线观看一区二区三区 | 亚洲欧美一区二区三区1000 | 国产精品久久av | 九九热精品视频 | 97国产超碰| 日韩国产一区二区三区 | 亚洲国产成人av好男人在线观看 | 毛片一区二区 | 国产精品成人在线观看 | 久久精品青青大伊人av | 视频三区| 国产精品久久久久久久免费观看 | 日韩精品在线视频 | 黄色网络在线观看 | 美女天天干天天操 | 日韩久久久久 | 美女爽到呻吟久久久久 | 国产精品国产三级国产播12软件 |