【问题标题】:How to prevent database server from lagging when auto back up of data to backup DB is in progress?自动备份数据到备份数据库时,如何防止数据库服务器滞后?
【发布时间】:2016-06-10 09:14:51
【问题描述】:

我们有一个 Windows 2008 r2 服务器,上面运行着 MSSQL 服务器作为我们应用程序的数据库服务器(我们 24 小时使用它)。它在每个午夜自动备份(因为这是访问它的用户较少的时间),用户通常抱怨滞后或数据库的响应需要数小时才能在实例/时间段检索数据。而这几天,他们花了 5 个小时等待服务器返回数据。

必须考虑服务器无响应的时间和数据库自动备份,我认为后者会导致服务器无响应。你们怎么看?

如果是这样,我该如何阻止它这样做。当然,我无法停止自动备份,所以我正在考虑安装一个单独的 LAN 卡,将主服务器连接到备份服务器。你认为它会起作用吗?或者你有什么解决方法吗?对不起,我是新手,请多多包涵,但我非常愿意学习:)提前谢谢你:)

【问题讨论】:

  • 你最好在 dba.stackexchange.com 上问这个
  • 备份数据库进程确实有一些磁盘 io 开销,但它不应该减慢查询速度。您确定这是由于备份操作而不是其他原因?
  • 您有哪些数据表明备份过程导致速度变慢?在此期间是否有其他活动导致用户悲伤?此外,遇到减速的是否是同一用户或用户组?它是该组独有的,例如区域问题,还是它们都连接到同一个 10/100Mbps 交换机?建议您查看在减速期间数据库和/或服务器还发生了什么。此外,请提供有关您的整体设置的详细信息,尤其是 .bak 文件的存储位置以及 mdf/ldf 文件的存储位置。
  • 在收集到一些数据之前不要做任何假设。听起来您需要 DBA 来首先确定问题的原因。它可能是完全不相关的东西(即另一个系统的备份使用了共享资源)。

标签: sql-server windows sql-server-2014 windows-server-2008-r2


【解决方案1】:

也许您应该尝试将备份拆分为较小的卷?

BACKUP DATABASE [MyDB] TO  
DISK = 'C:\Backups\file1.bak',  
DISK = 'C:\Backups\file2.bak',  
DISK = 'C:\Backups\file3.bak',   
DISK = 'C:\Backups\file4.bak'  
WITH INIT , NOUNLOAD , NAME = 'Estimating  backup', NOSKIP , STATS = 10, NOFORMAT

【讨论】:

  • 这有什么帮助?您仍在对数据库进行大量读取并写入备份文件的存储位置。
【解决方案2】:

“尝试将数据库拆分为较小的卷。默认情况下,备份数据库包括其他文件,如配置文件和架构。转到 Exchange 系统管理器(确保它已安装在备份服务器上)并运行 NTBACKUP。选择一个文件夹保存备份,并等待备份完成运行。 "

【讨论】:

    猜你喜欢
    • 2015-04-09
    • 1970-01-01
    • 2013-01-17
    • 2012-01-16
    • 1970-01-01
    • 1970-01-01
    • 2021-09-20
    • 2011-02-20
    • 2019-09-06
    相关资源
    最近更新 更多