接続プロパティ情報をレポートします。
sa_conn_info( [ connidparm ] )
connidparm 接続 ID 番号を指定する任意の INTEGER パラメータ。デフォルトは NULL です。
カラム名 | データ型 | 説明 |
---|---|---|
Number | INTEGER |
現在の接続の接続 ID (数値) を返します。 |
Name | VARCHAR(255) |
現在の接続の接続 ID (数値) を返します。 テンポラリ接続名の場合、接続名の先頭に INT: が追加されます。 |
Userid | VARCHAR(255) |
接続のユーザ ID を返します。 |
DBNumber | INTEGER |
データベースの ID 番号を返します。 |
LastReqTime | VARCHAR(255) |
指定された接続において最後の要求が開始された時刻を返します。このプロパティは、イベントなどの内部接続の場合は空の文字列を返すことがあります。 |
ReqType | VARCHAR(255) |
最後の要求のタイプを返します。接続が接続プールによってキャッシュされる場合、その ReqType 値は CONNECT_POOL_CACHE になります。 |
CommLink | VARCHAR(255) |
接続の通信リンクを返します。これは SQL Anywhere がサポートするネットワークプロトコルであり、同一コンピュータ接続の場合は local となります。 |
NodeAddr | VARCHAR(255) | クライアント/サーバ接続のクライアントアドレスを返します。 |
ClientPort | INTEGER |
クライアントの TCP/IP ポート番号を返します。接続の種類が TCP/IP でない場合は、0 を返します。 |
ServerPort | INTEGER |
データベースサーバの TCP/IP ポート番号または 0 を返します。 |
BlockedOn | INTEGER |
現在の接続がブロックされていない場合は 0 を返し、ブロックされている場合はロック競合によってブロックされた接続の接続番号を返します。 |
LockRowID | UNSIGNED BIGINT |
ロックされたローの識別子を返します。 ローに関連付けられているロックで接続が待機していない場合 (つまり、ロックで待機していない場合、または関連付けられているローがないロックで待機している場合)、LockRowID は NULL です。 |
LockIndexID | INTEGER |
ロックされたインデックスの識別子を返します。 LockTable のテーブルのすべてのインデックスにロックが関連付けられている場合、LockIndexID は -1 です。インデックスに関連付けられているロックで接続が待機していない場合 (つまり、ロックで待機していない場合、または関連付けられているインデックスがないロックで待機している場合)、LockIndexID は NULL です。 |
LockTable | VARCHAR(255) | 接続が現在ロックを待機している場合、そのロックに関連付けられているテーブルの名前を返します。それ以外の場合は、空の文字列を返します。 |
UncommitOps | INTEGER | コミットされていないオペレーションの数を返します。 |
ParentConnection | INTEGER |
データベースオペレーション (データベースのバックアップや作成など) を実行するためにテンポラリ接続を作成した接続の接続 ID を返します。その他のタイプの接続について、このプロパティは NULL を返します。 |
connidparm が 0 未満の場合、現在の接続について、接続プロパティで構成される結果セットが返されます。connidparm を指定しない場合または NULL の場合、データベースサーバ上で実行されているすべてのデータベースに対するすべての接続について、接続プロパティが返されます。
ブロックの場合には、このプロシージャが返す BlockedOn 値によって、どのユーザがどのユーザによってブロックされているかを調べることができます。sa_locks システムプロシージャを使用して、ブロックされた接続で保持されているロックを表示できます。
これらプロパティに関する詳細については、次のような例を実行できます。
SELECT *, DB_NAME( DBNumber ), CONNECTION_PROPERTY( 'LastStatement', Number ) FROM sa_conn_info( ); |
LockRowID の値は、sa_locks プロシージャの出力でロックを検索するときに使用できます。
LockIndexID の値は、sa_locks プロシージャの出力でロックを検索するときに使用できます。また、LockIndexID の値は、SYSIDX システムビューを使用して表示できる ISYSIDX システムテーブルのプライマリキーに対応します。
ロックにはそれぞれ関連付けられたテーブルがあるため、LockTable の値を使用して、ロックで接続が待機しているかどうかを明確に判断できます。
「クラウドに関する注意:」テナントデータベース独立性ルールのため、このシステムプロシージャがクラウドで実行された場合、現在のテナントデータベースについての情報のみを返します。
現在の接続 ID に対してこのシステムプロシージャを実行する場合、権限は必要ありません。他の接続に対してこのシステムプロシージャを実行する場合は、SERVER OPERATOR、MONITOR、または DROP CONNECTION のシステム権限が必要です。
なし。
次の例では、sa_conn_info システムプロシージャを使用して、サーバに対する全接続の接続プロパティをまとめた結果セットを返します。
CALL sa_conn_info( ); |
Number | Name | Userid | DBNumber | ... |
---|---|---|---|---|
79 | SQL_DBC_10dcf810 | DBA | 0 | ... |
46 | setup | User1 | 0 | ... |
... | ... | ... | ... | ... |
次の例では、sa_conn_info システムプロシージャを使用して、どの接続がテンポラリ接続を作成したかを示す結果セットを返します。
SELECT Number, Name, ParentConnection FROM sa_conn_info(); |
接続 8 がテンポラリ接続を作成し、そのテンポラリ接続によって CREATE DATABASE 文が実行されました。
Number Name ParentConnection ------------------------------------------------ 1000000048 INT: CreateDB 8 9 SQL_DBC_14675af8 (NULL) 8 SQL_DBA_152d5ac0 (NULL) |
![]() |
DocCommentXchange で意見交換できます
|
Copyright © 2013, SAP AG or an SAP affiliate company. - SAP Sybase SQL Anywhere 16.0 |