【问题标题】:SQL server Instance hanging randomlySQL server 实例随机挂起
【发布时间】:2019-01-27 19:10:27
【问题描述】:

我有一个 SQL Server 代理作业,使用 SSIS 目录中的 SSIS 包每 5 分钟运行一次,该包可以:

  1. 删除 OLTP_DB 上的所有现有数据
  2. 从生产数据库中提取数据
  3. 删除 OLAP_DB 上的所有现有数据,然后
  4. 提取从 OLTP_DB 转换为 OLAP_DB 的数据 ...

问题

我上面提到的那个工作由于某种我不知道的原因随机挂起, 我刚刚意识到使用活动监视器,每次挂起时都会显示如下内容:

如果我尝试对该数据库运行任何查询,它不会响应只是说正在执行......并且在我停止工作之前什么都不会发生。

该作业的平均运行时间为 5 或 6 分钟,但当它挂起时,如果我不停止它,它可能会持续运行数天。 :(

我做了什么

  • 设置 delayValidation : True
  • 改进了我的查询
  • 没有正在运行的事务
  • 没有锁定或阻塞(我猜)
  • 重建和组织索引
  • 跑DBCC FREEPROCCACHE
  • 冉DBCC FREESESSIONCACHE
  • 等等.....

我的设置:

  • 简单的恢复模式
  • SSIS OLE DB 目标 1-保持身份(选中) 2-保持空值(选中) 3 表锁(选中) 4-检查约束(未选中) 每批次的行数(空白) 最大插入提交大小 (2147483647)

注意:

我还有另一项工作在同一实例中运行 ssis 包(小)但不同的数据库,当上面提到的主 ETL 挂起时,有时这个小 ETL 有时,这就是为什么我认为问题出在实例上(我猜)。

我愿意根据需要提供更多信息。

任何帮助或帮助将不胜感激!

【问题讨论】:

  • 你检查过dbcc opentran 吗?
  • 是的,没有运行。
  • 请检查任何处于溢出状态的数据库备份作业,并尝试运行此SELECT * FROM dbo.sysprocesses WHERE blocked <> 0,SELECT r.session_id ,s.TEXT ,r.[status] ,r.blocking_session_id ,r.cpu_time ,r.total_elapsed_time FROM sys.dm_exec_requests r CROSS APPLY sys.dm_exec_sql_text(sql_handle) AS s
  • 它看起来不像是随机挂起的。如果它显示CXPACKET 等待,这意味着它正在执行一个并行执行的大查询(除了不是真的,因为大多数工作人员都被阻塞等待某个顺序部分完成)。检查sys.dm_os_waiting_tasks。有各种在线资源可以帮助解决这个问题,例如 this one。
  • 您所说的“挂起”就是其他人所说的“不明智地使用服务器资源”。真正的挂起是 SQL Server 完全停止接受请求的情况。这通常是一个错误,由 SQL Server 本身检测到,它会在错误日志中生成一个条目。您得到的是阻塞或资源密集型查询;有办法解决这些问题。

标签: sql-server tsql ssis sql-server-2014


【解决方案1】:

正如 Joeren Mostert 所说,它正在显示 CXPACKET,这意味着它正在并行执行一些工作。 (cxpacket) 它还显示 ASYNC_NETWORK_IO (async_network_io),这意味着它也在将数据传输到网络。

可能有很多原因。还有一些提示:
- 您是否检查过网络连接是否缓慢?
- 传输的数据大小与网络速度的关系是多少?
- 是否有正在运行的防病毒软件会减慢数据传输速度?

我的猜测是要传输大量数据并且需要很长时间。我会考虑 I/O 或网络,但由于您有一个 asyn_network_io 占用了大部分累积等待时间,所以我会选择网络。

【讨论】:

    【解决方案2】:

    正如@Jeroen Mostert 和@Danielle Paquette-Harvey 所说,通过使用活动监视器进行右键单击,我可以发现我有一个并行执行的对象(过去出于某种原因),以解决问题我删除了并行结构,并将所有内容放在一批中运行。 现在它就像一个魅力!

    之前:

    之后:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-27
      • 2017-09-18
      • 2018-08-12
      • 1970-01-01
      相关资源
      最近更新 更多