sqlserver 2005每个连接大概需要50K的内存资源用于存储信息,对于长期不运行但是不断开的连接,最好断掉,占着茅坑不拉屎本身不是什么问题,不过潜在风险是有未提交事务,可能会导致你的库在后续使用中一些麻烦,但是最好监控一下,是否有长期不活动的连接,如果短期的话,就别断掉,反复连接sqlsrever更大消耗
解决方案 »
- (SERVICE BROKER) 会话组的疑问,谢谢
- 数据类型不同的表该如何倒数据?
- sql高手,请加群14471754 ..散分 100分
- pbsql(风云)大哥还在吗?
- 如何删除表中所有带乱码的记录??? 急!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- mysql 与sql server 2000
- 当内存剩余2.0G时, iis就 重起,如何解决?
- 哪位用C或者C++写过B+树索引文件的实现?想要源程序的说
- 帮忙看看这个PLSQL是否有错?
- 我想在我的程序中控制oracle数据库的备份与恢复怎么办?
- SQL2008 image格式存大量附件问题
- 表中两个字段相同,如何删除重复的字段,保留不重复的字段并以逗号分隔?
查找5天以上未活动的会话,2005以上可用
*/
DECLARE @days_old SMALLINTSELECT @days_old = 5SELECT s.session_id,
s.login_time,
s.last_request_start_time,
s.last_request_end_time,
s.[status],
s.[program_name],
s.cpu_time,
s.total_elapsed_time,
s.memory_usage,
s.total_scheduled_time,
s.reads,
s.writes,
s.logical_reads,
s.row_count,
s.is_user_process
FROM sys.dm_exec_sessions s
INNER JOIN sys.dm_tran_session_transactions t
ON s.session_id = t.session_id
WHERE s.is_user_process = 1
AND Datediff(dd, s.last_request_end_time, Getdate()) > @days_old
AND s.[status] != 'Running'
ORDER BY s.last_request_end_time
这个连接,倒是小问题。你说cpu占用率很高,那肯定是其他的问题,比如很多硬解析,都是由于不用绑定变量导致的。另外,是否建了合适的索引,如果没有合适的索引,也会导致在多表关联时,大量的cpu时间都占用在表扫描上