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

Int32

The SQL Server process ID that uniquely identifies the process requesting the lock.

LockType

String

The type of lock. See req_mode in sys.syslockinfo (Transact-SQL).

Database

String

The name of the database that contains the lock.

Schema

String

The schema of the locked resource.

Table

String

The table that contains the lock.

Index

String

The index that contains the lock.

Status

Int32

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

Reference

Server Class

EnumLocks Overload

Microsoft.SqlServer.Management.Smo Namespace

Other Resources

Calling Methods

Managing Servers

sys.syslockinfo (Transact-SQL)