Поделиться через


Метод EnumLocks (Int32)

Перечисляет текущие блокировки, удерживаемые в базе данных для указанного идентификатора системного процесса.

Пространство имен:  Microsoft.SqlServer.Management.Smo
Сборка:  Microsoft.SqlServer.Smo (в Microsoft.SqlServer.Smo.dll)

Синтаксис

'Декларация
Public Function EnumLocks ( _
    processId As Integer _
) As DataTable
'Применение
Dim instance As Database
Dim processId As Integer
Dim returnValue As DataTable

returnValue = instance.EnumLocks(processId)
public DataTable EnumLocks(
    int processId
)
public:
DataTable^ EnumLocks(
    int processId
)
member EnumLocks : 
        processId:int -> DataTable 
public function EnumLocks(
    processId : int
) : DataTable

Параметры

  • processId
    Тип: System. . :: . .Int32
    Значение типа Int32, указывающее идентификатор процесса, однозначно идентифицирующий процесс.

Возвращаемое значение

Тип: System.Data. . :: . .DataTable
Значение объекта DataTable, содержащее список блокировок, удерживаемых в базе данных, и данные о типе и местоположении блокировок. В следующей таблице приводится описание различных столбцов возвращаемого набора DataTable.

Column

Тип данных

Описание

RequestorSpid

Int32

Значение идентификатора системного процесса, удерживающего блокировку ресурса базы данных.

LockType

String

Описание типа блокировки. Описание различных типов блокировок см. в системной таблице syslockinfo.

База данных

String

Имя базы данных, в которой удерживается блокировка.

таблица

String

Имя таблицы, в которой удерживается блокировка. Это поле содержит значение, только если блокировка удерживается в таблице.

Указатель

String

Имя индекса, в котором удерживается блокировка. Это поле содержит значение, только если блокировка удерживается в индексе.

Состояние

Int32

Состояние блокировки может быть одним из следующих.

1 = Принято.

2 = Преобразуется.

3 = Ожидание.

Примеры

The example runs a Server object enumeration method, but extracting the information from the DataTable object is the same for database enumeration methods.

VB

'Connect to the local, default instance of SQL Server.
Dim srv As Server
srv = New Server
'Call the EnumCollations method and return collation information to DataTable variable.
Dim d As DataTable
'Select the returned data into an array of DataRow.
d = srv.EnumCollations
'Iterate through the rows and display collation details for the instance of SQL Server.
Dim r As DataRow
Dim c As DataColumn
For Each r In d.Rows
    Console.WriteLine("============================================")
    For Each c In r.Table.Columns
        Console.WriteLine(c.ColumnName + " = " + r(c).ToString)
    Next
Next

PowerShell

$srv = new-Object Microsoft.SqlServer.Management.Smo.Server("(local)")

$d = new-object System.Data.Datatable
$d = $srv.EnumCollations

Foreach ($r in $d.Rows)
{
   Write-Host "============================================"
   Foreach ($c in $d.Columns)
   {
      Write-Host $c.ColumnName "=" $r[$c]
   }
}