Database.EnumCandidateKeys Method

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

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

public DataTable EnumCandidateKeys ()
public DataTable EnumCandidateKeys ()
public function EnumCandidateKeys () : DataTable

Return Value

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


Data type




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



The name of the candidate primary key.

Updated text: 17 July 2006

This namespace, class, or member is supported only in version 2.0 of the Microsoft .NET Framework.

The example runs a Server object enumeration method, but extracting the information from the DataTable object is the same for Database object enumeration methods.

'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
    For Each c In r.Table.Columns
        Console.WriteLine(c.ColumnName + " = " + r(c).ToString)

Any public static (Shared in Microsoft Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Development Platforms

For a list of the supported platforms, see Hardware and Software Requirements for Installing SQL Server 2005.

Target Platforms



17 July 2006

Changed content:
  • Added code to the Example section.

Community Additions