Метод 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 |
Значение идентификатора системного процесса, удерживающего блокировку ресурса базы данных. |
|
LockType |
Описание типа блокировки. Описание различных типов блокировок см. в системной таблице syslockinfo. |
|
База данных |
Имя базы данных, в которой удерживается блокировка. |
|
таблица |
Имя таблицы, в которой удерживается блокировка. Это поле содержит значение, только если блокировка удерживается в таблице. |
|
Указатель |
Имя индекса, в котором удерживается блокировка. Это поле содержит значение, только если блокировка удерживается в индексе. |
|
Состояние |
Состояние блокировки может быть одним из следующих. 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]
}
}