Server.EnumLocks Method
SQL Server 2012
Enumerates a list of current locks held on the instance of SQL Server.
Namespace: Microsoft.SqlServer.Management.Smo
Assembly: Microsoft.SqlServer.Smo (in Microsoft.SqlServer.Smo.dll)
Return Value
Type: System.Data.DataTableA DataTable system object value that contains a list of current locks held by the specified process on the instance of SQL Server. The table describes the different columns of the returned DataTable.
Column | Data type | Description |
|---|---|---|
RequestorSpid | The SQL Server process ID that uniquely identifies the process requesting the lock. | |
LockType | The type of lock. See req_mode in sys.syslockinfo (Transact-SQL). | |
Database | The name of the database that contains the lock. | |
Schema | The schema of the locked resource. | |
Table | The table that contains the lock. | |
Index | The index that contains the lock. | |
Status | The status of the lock. 1 for Grant, 2 for Convert, and 3 for Wait. |
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]
}
}
