Метод 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 |
Идентификатор процесса SQL Server, однозначно определяющий процесс, запросивший блокировку. |
|
LockType |
Тип блокировки. См. req_mode в sys.syslockinfo (Transact-SQL). |
|
База данных |
Имя базы данных, содержащей блокировку. |
|
Схема |
Схема заблокированного ресурса. |
|
Таблица |
Таблица, содержащая блокировку. |
|
Индекс |
Индекс, содержащий блокировку. |
|
Состояние |
Состояние блокировки. 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]
}
}
См. также