0

在我的过程中使用以下查询,我可以数到连接到我的数据库

SELECT 
    COUNT(dbid) as 'Total Connections'
FROM 
    master.dbo.sysprocesses WITH (nolock)
WHERE 
    dbid = 7 

这工作正常,有没有办法在几分钟内获得每个连接/会话的长度?

4

1 回答 1

2

如果你这样做:

SELECT DATEDIFF(n, login_time, GETDATE()) AS SessionTime
FROM master.dbo.sysprocesses WITH (nolock)
WHERE dbid =7

您将以分钟为单位获得与现在之间的时差login_time,我认为这是会话时间。

请注意:

如果返回值超出 int 的范围(-2,147,483,648 到 +2,147,483,647),则返回错误。对于毫秒,startdate 和 enddate 之间的最大差异是 24 天 20 小时 31 分钟和 23.647 秒。其次,最大差异是 68 岁。

从这里:http: //msdn.microsoft.com/en-us/library/ms189794.aspx

注意:您应该没问题,因为您要求连接的分钟数不太可能很快溢出!

于 2012-08-20T15:07:09.237 回答