次の方法で共有


EnumLocks メソッド (Int32)

指定したシステム プロセス ID に関して、データベース上で保持されている現在のロックの一覧を列挙します。

名前空間:  Microsoft.SqlServer.Management.Smo
アセンブリ:  Microsoft.SqlServer.Smo (Microsoft.SqlServer.Smo.dll)

構文

'宣言
Public Function EnumLocks ( _
    processId As Integer _
) As DataTable
'使用
Dim instance As Database
Dim processId As Integer
Dim returnValue As DataTable

returnValue = instance.EnumLocks(processId)
public DataTable EnumLocks(
    int processId
)
public:
DataTable^ EnumLocks(
    int processId
)
member EnumLocks : 
        processId:int -> DataTable 
public function EnumLocks(
    processId : int
) : DataTable

パラメーター

戻り値

型: System.Data. . :: . .DataTable
データベース上で保持されているロックの一覧、およびロックの種類と場所に関する情報を含む DataTable オブジェクトの値。次の表に、返される DataTable の列を示します。

データ型

説明

RequestorSpid

Int32

データベース リソース上でロックを保持しているプロセスのシステム プロセス ID 値です。

LockType

String

ロックの種類の説明です。さまざまなロックの種類の説明については、syslockinfo テーブルを参照してください。

Database

String

ロックが保持されているデータベースの名前です。

Table

String

ロックが保持されているテーブルの名前です。このフィールドに値が含まれるのは、ロックがテーブル上で保持されている場合だけです。

Index

String

ロックが保持されているインデックスの名前です。このフィールドに値が含まれるのは、ロックがインデックス上で保持されている場合だけです。

Status

Int32

ロックの状態です。次のいずれかの値です。

1 = 許可

2 = 変換

3 = 待機

使用例

次の例では、Server オブジェクト列挙メソッドを実行しますが、DataTable オブジェクトからの情報の抽出方法は、データベース列挙メソッドの場合と同じです。

'Connect to the local, default instance of SQL Server.
Dim srv As Server
srv = New Server
'Call the EnumCollations method and return collation information to DataTable variable.
Dim d As DataTable
'Select the returned data into an array of DataRow.
d = srv.EnumCollations
'Iterate through the rows and display collation details for the instance of SQL Server.
Dim r As DataRow
Dim c As DataColumn
For Each r In d.Rows
    Console.WriteLine("============================================")
    For Each c In r.Table.Columns
        Console.WriteLine(c.ColumnName + " = " + r(c).ToString)
    Next
Next