Server.EnumLocks Method
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)
Syntax
'Declaration
Public Function EnumLocks As DataTable
'Usage
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
Return Value
Type: System.Data.DataTable
A 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. |
Remarks
Use this method to determine the locks that are currently held on the instance of SQL Server. The information that is returned can help you identify locking problems that might affect performance.
Examples
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]
}
}
See Also