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


Метод EnumLocks

Перечисляет текущие блокировки для экземпляра SQL Server.

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

Синтаксис

'Декларация
Public Function EnumLocks As DataTable
'Применение
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

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

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

Столбец

Тип данных

Описание

RequestorSpid

Int32

Идентификатор процесса SQL Server, однозначно определяющий процесс, запросивший блокировку.

LockType

String

Тип блокировки. См. req_mode в sys.syslockinfo (Transact-SQL).

База данных

String

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

Схема

String

Схема заблокированного ресурса.

Таблица

String

Таблица, содержащая блокировку.

Индекс

String

Индекс, содержащий блокировку.

Состояние

Int32

Состояние блокировки. 1 — Предоставить, 2 — Преобразуется и 3 — Ожидание.

Замечания

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]
   }
}