【问题标题】:Session State in IIS [duplicate]IIS 中的会话状态 [重复]
【发布时间】:2017-05-30 06:44:12
【问题描述】:

我有一个使用 IIS inproc 会话状态的 .NET 远程处理应用程序。并单独为 sql server 数据库设置另一台服务器。问题是如果我在我的应用服务器中回收应用程序池,它会断开数据库中当前正在处理的查询吗?

我之所以问是因为我们最近在数据库中遇到了缓慢(长时间运行的查询)。所以我们决定执行应用程序池的回收。并期望杀死 db 中长时间运行的查询,但实际上并非如此。

【问题讨论】:

  • “我们的 Web 应用程序很慢,让我们回收应用程序池” - 这将如何提高生产力?如果有一个客户端启动了一个昂贵的查询,即使回收应用程序池会取消该查询,用户不会再次发出相同的操作吗?

标签: c# sql asp.net .net


【解决方案1】:

您不能通过应用程序池回收来终止数据库中长时间运行的查询,因为查询是在 SQL 服务器中运行的。

您可以在 SQL 服务器中使用 Kill {SPID},如下所述:How to kill/stop a long SQL query immediately?

【讨论】:

    【解决方案2】:

    不,它不会与 SQL Server 断开连接。因为查询在不同的服务器上运行。

    【讨论】:

      猜你喜欢
      • 2010-10-22
      • 2013-06-11
      • 2020-12-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多