我们有一台运行 MSSQL 2005 的 Windows Server 2003 R2 计算机,我们的 XP 工作站都运行 VB6 应用程序,该应用程序调用 SQL 备份实用程序来备份 700 Mb 的数据库。几周前,所有工作站都无法进行备份,当我们尝试进行备份时,本地工作站应用程序似乎挂起了。我们可以直接在服务器上进行备份(备份到相同的备份设备名称),但所需的时间是以前的三到四倍。SQl 和 Windows 都安装了所有最新的补丁和更新。有人知道出了什么问题吗?
答案1
这里有几个问题...
几周前,所有工作站都无法进行备份,当我们尝试进行备份时,本地工作站应用程序似乎挂起了。
您的 VB 应用程序是否直接在 button_click 处理程序中发出备份命令,还是将其推迟到另一个线程?如果它BACKUP DATABASE
直接调用,您应该更改您的流程。在服务器上创建一个 SQL Server 代理作业来执行备份,并让您的 button_click 处理程序启动该作业。
我们可以直接在服务器上进行备份(到相同的备份设备名称),但它所花费的时间确实是以前的三到四倍。
数据库的大小是否显著增加?查看 SQL Server ERRORLOG 文件以查找备份期间的 I/O 错误指示 - 您可能有一个故障磁盘。