Freigeben über


Database.EnumLocks-Methode (Int32)

Enumerates a list of current locks held on the database for a specified system process ID.

Namespace:  Microsoft.SqlServer.Management.Smo
Assembly:  Microsoft.SqlServer.Smo (in Microsoft.SqlServer.Smo.dll)

Syntax

'Declaration
Public Function EnumLocks ( _
    processId As Integer _
) As DataTable
'Usage
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

Parameter

  • processId
    Typ: System.Int32
    An Int32 that specifies the process ID value that uniquely identifies the process.

Rückgabewert

Typ: 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

Int32

The system process ID value of the process that is holding a lock on a database resource.

LockType

String

The description of the type of lock. See the syslockinfo table for a description of different lock types.

Database

String

The name of the database on which the lock is held.

Table

String

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

String

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

Int32

The status of the lock, which can be one of the following:

1 = Granted.

2 = Converting.

3 = Waiting.

Beispiele

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

Siehe auch

Verweis

Database Klasse

EnumLocks-Überladung

Microsoft.SqlServer.Management.Smo-Namespace

Andere Ressourcen

Arbeiten mit Datenbankobjekten

sys.syslockinfo (Transact-SQL)

Erstellen, Ändern und Löschen von Datenbanken

CREATE DATABASE (Transact-SQL)