EnumLocks メソッド
SQL Server のインスタンスで保持されている現在のロックの一覧を列挙します。
名前空間: Microsoft.SqlServer.Management.Smo
アセンブリ: Microsoft.SqlServer.Smo (Microsoft.SqlServer.Smo.dll)
構文
'宣言
Public Function EnumLocks As DataTable
'使用
Dim instance As Server
Dim returnValue As DataTable
returnValue = instance.EnumLocks()
public DataTable EnumLocks()
public:
DataTable^ EnumLocks()
member EnumLocks : unit -> DataTable
public function EnumLocks() : DataTable
戻り値
型: System.Data. . :: . .DataTable
指定したプロセスによって SQL Server のインスタンスで保持されている現在のロックの一覧を含む DataTable システム オブジェクトの値です。次の表に、返される DataTable の列を示します。
列 |
データ型 |
説明 |
---|---|---|
RequestorSpid |
ロックを要求するプロセスを一意に識別する SQL Server のプロセス ID です。 |
|
LockType |
ロックの種類です。「sys.syslockinfo (Transact-SQL)」の req_mode を参照してください。 |
|
Database |
ロックを含むデータベースの名前です。 |
|
Schema |
ロックされたリソースのスキーマです。 |
|
Table |
ロックを含むテーブルです。 |
|
Index |
ロックを含むインデックスです。 |
|
Status |
ロックの状態です。1 が許可、2 が変換、3 が待機です。 |
説明
このメソッドを使用して、SQL Server のインスタンスで現在保持されているロックを調べます。返された情報を使用して、パフォーマンスに影響を与える可能性があるロックの問題を特定できます。
使用例
C#
Server srv = new Server("(local)");
DataTable d = srv.EnumLocks();
foreach (DataRow r in d.Rows)
{
Console.WriteLine("============================================");
foreach(DataColumn c in d.Columns)
{
Console.WriteLine(c.ColumnName + " = " + r[c].ToString());
}
}
PowerShell
$srv = new-Object Microsoft.SqlServer.Management.Smo.Server("(local)")
$d = $srv.EnumLocks()
foreach ($r in $d.Rows)
{
Write-Host "============================================"
Foreach ($c in $d.Columns)
{
Write-Host $c.ColumnName "=" $r[$c]
}
}