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)の場合、エラーが返されます。ミリ秒の場合、開始日と終了日の最大差は24日、20時間、31分、23.647秒です。第二に、最大の差は68年です。

ここから:http://msdn.microsoft.com/en-us/library/ms189794.aspx

注:すぐにオーバーフローする可能性が低い接続された分を要求しているので、大丈夫です!

于 2012-08-20T15:07:09.237 に答える