sqlserverでのデータベースの現在の接続数の取得
3774 ワード
SQL SERVERデータベースの現在の接続数1を表示する方法管理ツールから開始->管理ツール->パフォーマンス(または実行中にmmc)を入力し、カウンタを追加してSQLの一般的な統計を追加し、次の項目でユーザー接続を選択すると、データベースへの接続数を常に問い合わせることができます.ただし、この方法ではそのコンピュータにアクセスする権限が必要で、Windowsアカウントにログインしてからこのカウンタを追加することができます.2.システム表による照会
DBNameは、表示する必要があるデータベースで、クエリーされたローの数です.現在の接続数です.しかし、中には他の状態が参考になります.たとえば、masterというデータベースに接続するには、次の文を書きます.
select
*
from
sysprocesses
where
dbid
in
(
select
dbid
from
sysdatabases
where
name
=
'
MyDatabase
'
)
MyDatabaseというデータベースに接続されているすべての接続レコードを求めます.SysprocessesこのテーブルはSQL SERVERデータベースへの接続を記録しています.3.システムのストレージプロセスによる検索
UserNameはもちろんSqlにログインするユーザー名で、一般的にはプログラムの中で1つのUserNameを使ってSQLにログインします.このユーザー名でこのユーザー名がログインした後に使用した接続を表示することができます.UserNameと書かない場合は、すべての接続が返されます.
<!--
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
-->
SELECT
*
FROM
[
Master
]
.
[
dbo
]
.
[
SYSPROCESSES
]
WHERE
[
DBID
]
IN
(
SELECT
[
DBID
]
FROM
[
Master
]
.
[
dbo
]
.
[
SYSDATABASES
]
WHERE
NAME
=
'
DBName
'
)
DBNameは、表示する必要があるデータベースで、クエリーされたローの数です.現在の接続数です.しかし、中には他の状態が参考になります.たとえば、masterというデータベースに接続するには、次の文を書きます.
select
*
from
sysprocesses
where
dbid
in
(
select
dbid
from
sysdatabases
where
name
=
'
MyDatabase
'
)
MyDatabaseというデータベースに接続されているすべての接続レコードを求めます.SysprocessesこのテーブルはSQL SERVERデータベースへの接続を記録しています.3.システムのストレージプロセスによる検索
<!--
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
-->
SP_WHO
'
UserName
'
UserNameはもちろんSqlにログインするユーザー名で、一般的にはプログラムの中で1つのUserNameを使ってSQLにログインします.このユーザー名でこのユーザー名がログインした後に使用した接続を表示することができます.UserNameと書かない場合は、すべての接続が返されます.