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


Метод EnumLocks

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

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

Синтаксис

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

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

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

Тип: 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]
   }
}