sqlserver2000,数据库服务器cpu老是99%,怎么办?

oracletoad 2010-01-29 05:00:24
sqlserver2000,更新应用之后,数据库服务器cpu老是99%,怎么办?

如何找出那条低性能的sql出来,以及运行sql的那条进程,kill进程呢?我有思路,但是不知道具体sql命令。
...全文
253 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
xman_78tom 2010-02-01
  • 打赏
  • 举报
回复

-- 调查当前占用 cpu 资源最高的会话和其中执行的语句
select spid,cmd,cpu,physical_io,memusage,
(select top 1 [text] from ::fn_get_sql(sql_handle)) sql_text
from master..sysprocesses order by cpu desc

-- 获取上面的信息后,需要根据实际情况具体分析此语句,如排序操作是否利用了聚集索引等等。
oracletoad 2010-02-01
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 xman_78tom 的回复:]
sysprocesses 系统表
select * from sysprocesses order by cpu
[/Quote]
还有别的操作命令吗?
yananguo_1985 2010-02-01
  • 打赏
  • 举报
回复

性能探查工具
查找原因吧

还有看看是不是数据库占用了CPU,是否服务器的其他问题。
starseeker7 2010-02-01
  • 打赏
  • 举报
回复
學習了- -
xman_78tom 2010-01-29
  • 打赏
  • 举报
回复
sysprocesses 系统表
select * from sysprocesses order by cpu
--小F-- 2010-01-29
  • 打赏
  • 举报
回复
用性能探查工具
事件追踪器查看
SQL77 2010-01-29
  • 打赏
  • 举报
回复
A. 使用 KILL 终止 SPID
下面的示例显示如何终止 SPID 53。

KILL 53

B. 使用 KILL spid WITH STATUSONLY 获得进度报告。
下面的示例为特定的 spid 生成回滚进程的状态。

KILL 54
KILL 54 WITH STATUSONLY

--This is the progress report.
spid 54: Transaction rollback in progress. Estimated rollback completion: 80% Estimated time left: 10 seconds.

C. 使用 KILL 终止孤立的分布式事务。
下例说明如何使用 UOW = D5499C66-E398-45CA-BF7E-DC9C194B48CF 终止孤立 (SPID = -2) 事务。

KILL 'D5499C66-E398-45CA-BF7E-DC9C194B48CF'

SQL77 2010-01-29
  • 打赏
  • 举报
回复
看一下数据库占用的空间,收缩一下,限制增长,

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧