日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
在那種情況下SQLServer數(shù)據(jù)庫中SMO進(jìn)度條不顯示?

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

網(wǎng)站設(shè)計制作過程拒絕使用模板建站;使用PHP+MYSQL原生開發(fā)可交付網(wǎng)站源代碼;符合網(wǎng)站優(yōu)化排名的后臺管理系統(tǒng);成都做網(wǎng)站、網(wǎng)站建設(shè)收費合理;免費進(jìn)行網(wǎng)站備案等企業(yè)網(wǎng)站建設(shè)一條龍服務(wù).我們是一家持續(xù)穩(wěn)定運營了十余年的成都創(chuàng)新互聯(lián)公司網(wǎng)站建設(shè)公司。

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

一個奇怪的問題,用SMO備份SQL Server數(shù)據(jù)庫時不顯示進(jìn)度條,也就是進(jìn)度條事件PercentComplete不觸發(fā)。

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

代碼如下:

 
 
 
  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. /// 
  12. /// 備份數(shù)據(jù)庫
  13. /// 
  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. }

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

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

又試了另外一段代碼

 
 
 
  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é)果還是不顯示。

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

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

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

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


分享題目:在那種情況下SQLServer數(shù)據(jù)庫中SMO進(jìn)度條不顯示?
當(dāng)前鏈接:http://www.5511xx.com/article/coeoess.html