EnumLocks メソッド
現在、データベース上で保持されているすべてのロックを列挙します。
名前空間: Microsoft.SqlServer.Management.Smo
アセンブリ: Microsoft.SqlServer.Smo (Microsoft.SqlServer.Smo.dll)
構文
'宣言
Public Function EnumLocks As DataTable
'使用
Dim instance As Database
Dim returnValue As DataTable
returnValue = instance.EnumLocks()
public DataTable EnumLocks()
public:
DataTable^ EnumLocks()
member EnumLocks : unit -> DataTable
public function EnumLocks() : DataTable
戻り値
型: System.Data. . :: . .DataTable
データベース上で保持されているロックの一覧、およびロックの種類と場所に関する情報を含む DataTable オブジェクトの値。次の表に、返される DataTable の列を示します。
列 |
データ型 |
説明 |
---|---|---|
RequestorSpid |
データベース リソース上でロックを保持しているプロセスのシステム プロセス ID 値です。 |
|
LockType |
ロックの種類の説明です。さまざまなロックの種類の説明については、syslockinfo テーブルを参照してください。 |
|
Database |
ロックが保持されているデータベースの名前です。 |
|
Table |
ロックが保持されているテーブルの名前です。このフィールドに値が含まれるのは、ロックがテーブル上で保持されている場合だけです。 |
|
Index |
ロックが保持されているインデックスの名前です。このフィールドに値が含まれるのは、ロックがインデックス上で保持されている場合だけです。 |
|
Status |
ロックの状態です。次のいずれかの値です。 1 = 許可 2 = 変換 3 = 待機 |
使用例
次の例では、Server オブジェクト列挙メソッドを実行しますが、DataTable オブジェクトからの情報の抽出方法は、Database 列挙メソッドの場合と同じです。
VB
'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
PowerShell
$srv = new-Object Microsoft.SqlServer.Management.Smo.Server("(local)")
$d = new-object System.Data.Datatable
$d = $srv.EnumCollations
Foreach ($r in $d.Rows)
{
Write-Host "============================================"
Foreach ($c in $d.Columns)
{
Write-Host $c.ColumnName "=" $r[$c]
}
}