共用方式為


EnumLocks 方法

列舉資料庫中持有的目前鎖定清單。

命名空間:  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
DataTable 物件值,這個值包含資料庫上保留的鎖定清單以及鎖定之類型和位置的相關資訊。此表將描述傳回之 DataTable 的不同資料行。

資料行

資料類型

描述

RequestorSpid

Int32

針對資料庫資源保留鎖定之處理序的系統處理序識別碼值。

LockType

String

鎖定類型的描述。請參閱 syslockinfo 資料表以了解不同鎖定類型的描述。

Database

String

保留鎖定之資料庫的名稱。

Table

String

保留鎖定之資料表的名稱。只有當保留鎖定的目標是資料表時,這個欄位才會包含值。

Index

String

保留鎖定之索引的名稱。只有當保留鎖定的目標是索引時,這個欄位才會包含值。

Status

Int32

鎖定的狀態,它可以是下列項目之一:

1 = 授與。

2 = 轉換中。

3 = 等待中。

範例

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