Export (0) Print
Expand All
This topic has not yet been rated - Rate this topic

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)
public DataTable EnumLocks()

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.

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.

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]
   }
}
Did you find this helpful?
(1500 characters remaining)
Thank you for your feedback

Community Additions

ADD
Show:
© 2014 Microsoft. All rights reserved.