Метод Database.EnumLocks
Enumerates a list of all current locks held on the database.
Пространство имен: 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
A DataTable object value that contains a list of locks held on the database and information about the type and location of the locks. The table describes the different columns of the returned DataTable.
Column |
Data type |
Description |
---|---|---|
RequestorSpid |
The system process ID value of the process that is holding a lock on a database resource. |
|
LockType |
The description of the type of lock. See the syslockinfo table for a description of different lock types. |
|
Database |
The name of the database on which the lock is held. |
|
Table |
The name of the table on which the lock is held. This field contains a value only if the lock is held on a table. |
|
Index |
The name of the index on which the lock is held. This field contains a value only if the lock is held on an index. |
|
Status |
The status of the lock, which can be one of the following: 1 = Granted. 2 = Converting. 3 = Waiting. |
Примеры
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]
}
}
См. также
Справочник
Пространство имен Microsoft.SqlServer.Management.Smo
Другие ресурсы
Работа с объектами базы данных
sys.syslockinfo (Transact-SQL)