成人免费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數

2010-09-13 16:46:10

SQL Server觸

2021-05-17 06:57:34

SQLServer數據庫

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備份

2010-08-27 09:59:51

SQL Server

2010-10-12 17:23:40

MySQL命令行

2011-02-22 14:53:41

titlebar標題欄Android

2010-07-06 15:07:37

SQL Server

2010-07-15 17:28:50

SQL Server

2011-08-22 16:03:30

linuxVPS備份數據庫

2020-03-17 08:29:29

數據庫備份技術

2010-05-26 09:01:43

mysqldump備份

2025-06-12 07:13:00

數據庫MySQLPump
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 成人国产在线视频 | 国产午夜三级一区二区三 | 国产综合欧美 | 国产精品污www一区二区三区 | 日韩免费av网站 | 高清国产午夜精品久久久久久 | 亚洲精品www久久久 www.蜜桃av | 久久三区 | 日本精品一区二区三区在线观看视频 | 欧洲视频一区二区 | 黄片毛片 | 亚洲成人精选 | h视频在线观看免费 | 91在线观看 | 成人免费视频网站在线看 | 国产一区不卡 | 亚洲第1页| 久久大陆 | 欧美1区2区 | 精品国产精品三级精品av网址 | 91成人免费电影 | 久久99精品国产自在现线小黄鸭 | 看羞羞视频 | 2021狠狠天天天 | 成人在线小视频 | 做a网站| 青青艹在线视频 | 亚洲 中文 欧美 日韩 在线观看 | 欧美日韩一区二区三区在线观看 | 国产性网 | 亚洲乱码国产乱码精品精的特点 | 精品久久久久久亚洲精品 | 欧美精品一区二区在线观看 | 久久久蜜臀国产一区二区 | 日韩网站免费观看 | 国产成人精品久久二区二区91 | 激情久久av一区av二区av三区 | 日韩欧美国产一区二区三区 | 久久精品国产一区老色匹 | 欧美精品一 | 狠狠草视频 |