Udostępnij za pośrednictwem


Metoda EnumLocks

Wylicza listę bieżących blokad wystąpienie z SQL Server.

Przestrzeń nazw:  Microsoft.SqlServer.Management.Smo
Zestaw:  Microsoft.SqlServer.Smo (w Microsoft.SqlServer.Smo.dll)

Syntax

'Deklaracja
Public Function EnumLocks As DataTable
'Użycie
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

Wartość zwracana

Typ: System.Data. . :: . .DataTable
A DataTable wartość obiektu systemu zawiera listę bieżących blokad określonego procesu na wystąpienie SQL Server. W tabela opisano różne kolumny zwracane DataTable.

Kolumna

Typ danych

Opis

RequestorSpid

Int32

SQL Server Identyfikator procesu, który unikatowo identyfikuje proces, żądanie blokada.

Typu blokady

String

Typu blokada. See req_mode in sys.syslockinfo (Transact-SQL).

Baza danych

String

Nazwa bazy danych zawierającej blokada.

Schemat

String

Schemat zablokowane zasób.

Tabela

String

Tabela zawierająca blokada.

Indeks

String

Indeks zawierający blokada.

Stan

Int32

Stanem blokada. 1 dla dotacji, 2 konwersję i 3 oczekiwania.

Uwagi

Metoda ta pozwala określić blokad, które są obecnie przechowywane na wystąpienie SQL Server.Informacji zwrotnych może pomóc zidentyfikować problemy z blokowaniem, które mogą wpłynąć na wydajność.

Przykłady

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