代码之家  ›  专栏  ›  技术社区  ›  Faiz

SQL资源管理器是否在执行查询期间重新分配资源?

  •  3
  • Faiz  · 技术社区  · 16 年前

    例如,我有两个用户(u1,u2)映射到两个资源池(r1,r2),最大值分别为20%和80%。U1执行一个耗时的查询,比如运行15分钟。当它开始执行时,它是唯一的进程,因此SQL Server会将全部资源分配给该查询。5分钟后,U2执行另一个查询。资源管理器将U1的资源减少到20%,允许U2占80%,还是等待U1完成,然后允许U2占80%。

    我同意第一个案件是预料中的,但我看到了 this post 变得好奇。请解释真实场景中会发生什么。

    1 回复  |  直到 16 年前
        1
  •  2
  •   Rob Farley    16 年前

    资源管理器只在资源有争用时才起作用。如果一个特定的连接不满足使用框中所有资源的需求,那么它将满足。

    因此,如果有一个进程运行了一个小时左右,但持续了10分钟,那么一个进程需要80%(并且允许使用80%),那么在这10分钟内,原始进程将缩小到20%。

    希望这能帮你清理干净。

    推荐文章