【问题标题】:sql server 2008 , suspend processsql server 2008,挂起进程
【发布时间】:2011-01-18 09:10:26
【问题描述】:

具有大约 50 - 70 个并发用户的网络应用程序。 它工作了几个月,但从 3 天前开始,我们在 sql server 上有很多时间。 最重查询的时间约为 5 秒(单用户工作时) 我没有更改任何查询/应用程序,也不明白为什么我会遇到这个问题。 我有 2 台服务器(一台用于 IIS,另一台用于 DB)唯一的变化是 IIS 服务器的公共 IP 地址(网络管理员告诉我他们没有更改局域网上的任何东西)

1- 我如何管理挂起进程?有没有可以重启服务或杀死挂起进程的设置?

2- 我怎样才能找到造成这些问题的项目?

我们使用:windows server 2003,IIS 6,SQL server 2008,asp.net 3.5 谢谢

更新: 所有使用分页的查询都将在服务器上暂停

【问题讨论】:

  • sys.dm_os_wait_stats 中前 10 种等待类型是什么?
  • 杂项 LCK_M_SCH_S LCK_M_SCH_M LCK_M_S LCK_M_U LCK_M_X LCK_M_IS LCK_M_IU LCK_M_IX LCK_M_SIU
  • 那看起来像是一个阻塞问题。它们都是等待锁而不是(比如说)IO。这应该可以帮助您解决问题blogs.msdn.com/b/psssql/archive/2007/02/21/…

标签: asp.net sql-server


【解决方案1】:

1) 只有一种方法可以管理挂起的进程 - 杀死它。 运行 sp_who2 以获取 SPID 与要杀死的暂停状态 比运行命令Kill <SPID>

2) 您需要正确测试您的应用程序以找出问题所在。尝试自动化此过程以同时建立多个连接。还可以使用 SQL 探查器查看进入您的 SQL Server 的查询,这样您就可以跟踪被挂起的查询,而不是您可以获取此查询并在查询窗口中运行它,结果您可能会看到更多详细信息实际发生了什么.

【讨论】:

  • 感谢您的回答,但该应用程序在本周日之前运行良好。我们没有对其进行任何更改,我们使用大量结果对所有查询进行分页,现在在服务器上超时
  • @Ashian 可能正在发生任何数据库更改?任何新列添加或删除等..?
  • 我回滚所有更改(我在视图中添加 2 列),还重新索引所有索引。
猜你喜欢
  • 2010-11-13
  • 1970-01-01
  • 1970-01-01
  • 2018-09-08
  • 1970-01-01
  • 2014-06-29
  • 1970-01-01
  • 2012-02-17
  • 1970-01-01
相关资源
最近更新 更多