当前位置:首页 > 系统运维 > 正文内容

在那种情况下SQL Server数据库中 *** O进度条不显示?

a8116255316年前 (2010-07-09)系统运维9

此文章主要向大家讲述的是在那种情况下会出现SQL Server数据库中 *** O备份数据库进度条不显示,同时存在一个十分奇怪的问题,用 *** O备份SQL Server数据库时不显示进度条,也就是进度条事件PercentComplete不触发。

今天试了一下,果然有点奇怪。

一个奇怪的问题,用 *** O备份SQL Server数据库时不显示进度条,也就是进度条事件PercentComplete不触发。

今天试了一下,果然有点奇怪。

代码如下:

using Microsoft.SqlServer.Management.Smo;  using Microsoft.SqlServer.Management.Common;  private void btnBackup_Click(object sender, EventArgs e)  {  btnBackup.Enabled = false;  Thread tr = new Thread(new Threadstart(doBackup));  tr.Priority = ThreadPriority.AboveNormal;  tr.Start();  //Thread.Sleep(3000);  }  /// <summary> /// 备份数据库  /// </summary> public void doBackup()  {  pbDemo.Value = 0;  pbDemo.Maximum = 100;  pbDemo.Style = ProgressBarStyle.Blocks;  //pbDemo.Step = 10;  Server srv = new Server(@"(local)");  Backup backup = new Backup();  backup.Action = BackupActionType.Database;  backup.Database = "btnet";  backup.Incremental = false;  backup.Devices.Add(new BackupDeviceItem(@"C:agronet09.bak", DeviceType.File));  backup.Initialize = true;  backup.PercentCompleteNotification = 10;  backup.PercentComplete += new PercentCompleteEventHandler(backup_PercentComplete);  //backup.Checksum = true;  backup.SqlBackup(srv);  }  public void backup_PercentComplete(object sender, Microsoft.SqlServer.Management.Smo.PercentCompleteEventArgs e)  {  this.Invoke(new displayProgress_delegate(displayProgress), e.Percent);  //Application.DoEvents();  }  public delegate void displayProgress_delegate(int progress);  public void displayProgress(int progress)  {  this.lbProgress.Text = "已完成[" + progress.ToString() + " %]";  pbDemo.Value = progress;  btnBackup.Enabled = (progress == 100);  }  

症状如下:结果正确执行,但进度条不显示。

刚开始以为是线程问题,后来发现不是这个原因。

又试了另外一段代码

using Microsoft.SqlServer.Management.Smo;  using Microsoft.SqlServer.Management.Common;  using System.Diagnostics;  static void Main(string[] args)  {  BackupDatabase("ap4\agronet09", "agronet2008", "c:\Northind_3.bak");  Console.WriteLine(Environment.NewLine + "Press any key to continue.");  Console.ReadKey();  }  public static void BackupDatabase(string serverName, string databaseName, string fileName)  {  Console.WriteLine("*** Backing up ***");  Server server = new Server(serverName);  Backup backup = new Backup();  backup.Action = BackupActionType.Database;  backup.Database = databaseName;  backup.Incremental = false;  backup.Initialize = true;  backup.LogTruncation = BackupTruncateLogType.Truncate;  BackupDeviceItem backupItemDevice = new BackupDeviceItem(fileName, DeviceType.File);  backup.Devices.Add(backupItemDevice);  backup.PercentCompleteNotification = 10;  backup.PercentComplete += backup_PercentComplete;  backup.Complete +=backup_Complete;  backup.SqlBackup(server);  }  protected static void backup_PercentComplete(object sender, PercentCompleteEventArgs e)  {  Console.WriteLine(e.Percent + "% processed.");  //Application.();  System.Threading.Thread.Sleep(1000);  }  protected static void backup_Complete(object sender, ServerMessageEventArgs e)  {  Console.WriteLine(Environment.NewLine + e.ToString());  }  

结果还是不显示。

后来突然想到会不会是文件太小,试了一个200M的数据文件,果然成功显示:

后来经反复实验,发现SQL server 2000约在数据文件加日志文件大于6M左右时显示进度条。

而Sql server 2008 r2大约在3M时显示进度条。可能跟机器也有关系。

以上的相关内容就是对SQL Server数据库中 *** O备份数据库进度条的介绍,望你能有所收获。

扫描二维码推送至手机访问。

版权声明:本文由2345好导航站长资讯发布,如需转载请注明出处。

本文链接:http://2345hao.cn/blog/index.php/post/21638.html

分享给朋友:

“在那种情况下SQL Server数据库中 *** O进度条不显示?” 的相关文章

windows 7系统如何设置休眠时不断网以便继续完成下载

windows 7系统如何设置休眠时不断网以便继续完成下载

在Windows 7系统的默认设置中,当Windows 7系统处于休眠状态时,会同时断网的。如此一来,无论你正在使用迅雷还是快车等下载工具,同样可以在休眠状态下继续完成下载,最大限度做到从身边的小事开始支持环保。下面我们就详细介绍操作步骤,帮助Windows 7系统用户实现这一节能目标。 首先需要...

windows 7系统的电脑发出嘟嘟嘟的声音该怎么解决?

windows 7系统的电脑发出嘟嘟嘟的声音该怎么解决?

在某些电脑中,机器内部蜂鸣器与系统的声音输出方案是相关联的,这样一来会导致当系统输出声音时,即使电脑没有连接外部音响或耳机,也会通过内置蜂鸣器发出“嘟嘟哔哔”的声音。这个问题主要出现在Windows 7电脑中,假如你的电脑恰好遇到了这样的问题,可参考下面的方法来解决: 1、在桌面“计算机”图标上右...

上帝不止一个 更多Windows7 快捷模式.

上帝不止一个 更多Windows7 快捷模式.

国外媒体CNET NEWS就这个“上帝模式”和微软Windows部门主管Steven Sinofsky进行邮件交流后得知,这其实只是众多快捷方式中的一个,Sinofsky在邮件里给出了十多个这类快捷方式的关键字符串。 它们的建立方法和之前的“上帝模式”一样,在任意位置新建的一个文件夹,然后改名即可...

windows 7系统件夹和文件都不显示名字如何解决

windows 7系统件夹和文件都不显示名字如何解决

假如碰到电脑里的文件夹和文件全都不显示名字了(如下图),是不是电脑中毒了呢 请教下笔者有没好的解决方法!下面是笔者给出的答案,希望能够帮助到大家! 首先打开你用来装图片的文件夹(缩略图下面的文字不显示的文件夹),然后但击工具栏上的“查看”选择“平铺”, 下面就是关键:要按住SHIFT键不...

windows 7系统开机后出现黑屏提示Windows无法启动

windows 7系统开机后出现黑屏提示Windows无法启动

一些用户的Windows 7系统开机后出现黑屏,代码为 Windows无法启动: WindowsSystem32ConfigSystem”。这个问题该如何修复呢?现在小编就给大家分析一下吧。 其实这个代码的意思是引导文件丢失了,引导文件(NTLDR)一般存放于C盘根目录下,是一个具有隐藏和只读属性...

Windows7截图出现黑屏导致截的图黑呼呼一片

Windows7截图出现黑屏导致截的图黑呼呼一片

最近一些Windows 7用户反馈说,自己在截屏的时候出现黑屏,导致自己截的图黑呼呼一片。这个问题该怎么解决?今天小编就为大家提供一个解决的方法。 步骤 1 在windows xp时代,很多用户都曾被视频截图后的“全黑图片”困扰。对此,在解决本地播放时出现的截图变黑问题,一般有两个方法可以用来解...