Condividi tramite


Metodo EnumLocks (Int32)

Enumera un elenco di blocchi correnti presenti nel database per un ID processo di sistema specificato.

Spazio dei nomi  Microsoft.SqlServer.Management.Smo
Assembly:  Microsoft.SqlServer.Smo (in Microsoft.SqlServer.Smo.dll)

Sintassi

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

Parametri

  • processId
    Tipo: System. . :: . .Int32
    Valore Int32 che specifica il valore dell'ID di processo che identifica in modo univoco il processo.

Valore restituito

Tipo: System.Data. . :: . .DataTable
Valore dell'oggetto DataTable che contiene un elenco di blocchi contenuto sul database e informazioni sul tipo e il percorso dei blocchi. Nella tabella vengono descritte le diverse colonne dell'oggetto DataTable restituito.

Colonna

Tipo di dati

Descrizione

RequestorSpid

Int32

Valore ID del processo di sistema del processo che mantiene attivo un blocco su una risorsa del database.

LockType

String

Descrizione del tipo di blocco. Vedere la tabella syslockinfo per una descrizione dei vari tipi di blocco.

Database

String

Nome del database per cui il blocco è attivato.

Table

String

Nome della tabella per cui il blocco è attivato. Questo campo contiene un valore solo se il blocco è attivato su una tabella.

Index

String

Nome dell'indice per cui il blocco è attivato. Questo campo contiene un valore solo se il blocco è attivato su un indice.

Status

Int32

Stato del blocco. I possibili valori sono i seguenti:

1 = Concesso.

2 = In fase di conversione.

3 = In attesa.

Esempi

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