在我的过程中使用以下查询,我可以数到连接到我的数据库
SELECT
COUNT(dbid) as 'Total Connections'
FROM
master.dbo.sysprocesses WITH (nolock)
WHERE
dbid = 7
这工作正常,有没有办法在几分钟内获得每个连接/会话的长度?
在我的过程中使用以下查询,我可以数到连接到我的数据库
SELECT
COUNT(dbid) as 'Total Connections'
FROM
master.dbo.sysprocesses WITH (nolock)
WHERE
dbid = 7
这工作正常,有没有办法在几分钟内获得每个连接/会话的长度?
如果你这样做:
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
注意:您应该没问题,因为您要求连接的分钟数不太可能很快溢出!