Database.EnumCandidateKeys Method

Enumerates a list of all candidate primary keys in the database, which can be referenced by a foreign key.

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

Syntax

'Declaration
Public Function EnumCandidateKeys As DataTable
'Usage
Dim instance As Database
Dim returnValue As DataTable

returnValue = instance.EnumCandidateKeys()
public DataTable EnumCandidateKeys()
public:
DataTable^ EnumCandidateKeys()
member EnumCandidateKeys : unit -> DataTable 
public function EnumCandidateKeys() : DataTable

Return Value

Type: System.Data.DataTable
A DataTable system object value that contains an enumerated list of candidate keys. The table describes the different columns of the returned DataTable.

Column

Data type

Description

Table_Name

String

The name of the table that contains the candidate primary key.

Name

String

The name of the candidate primary key.

Examples

The example runs a Server object enumeration method, but extracting the information from the DataTable object is the same for database object 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]
   }
}