Freigeben über


EnumLocks-Methode

Listet alle aktuellen Sperren für die Datenbank auf.

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

Syntax

'Declaration
Public Function EnumLocks As DataTable
'Usage
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

Rückgabewert

Typ: System.Data. . :: . .DataTable
Ein DataTable-Objektwert, der eine Liste der Sperren für die Datenbank sowie Informationen zu Typ und Speicherort der Sperren enthält. In der Tabelle werden die verschiedenen Spalten der zurückgegebenen DataTable beschrieben.

Spalte

Datentyp

Beschreibung

RequestorSpid

Int32

Der ID-Wert des Systemprozesses, der eine Sperre für eine Datenbankressource aufrechterhält.

LockType

String

Die Beschreibung des Sperrentyps. Eine Beschreibung anderer Sperrentypen finden Sie in der syslockinfo-Tabelle.

Datenbank

String

Der Name der Datenbank, für die die Sperre aufrechterhalten wird.

Tabelle

String

Der Name der Tabelle, für die die Sperre aufrechterhalten wird. Dieses Feld enthält nur einen Wert, wenn die Sperre für eine Tabelle aufrechterhalten wird.

Index

String

Der Name des Indexes, für den die Sperre aufrechterhalten wird. Dieses Feld enthält nur einen Wert, wenn die Sperre für einen Index aufrechterhalten wird.

Status

Int32

Der Status der Sperre. Die folgenden Werte sind möglich:

1 = Gewährt.

2 = Konvertiert.

3 = Wartet.

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