Returns the primary key columns, one row per key column, for the specified remote table.
sp_primarykeys [@table_server =] 'table_server'
[,[@table_name =] 'table_name']
[,[@table_schema =] 'table_schema']
[,[@table_catalog =] 'table_catalog']
None
Column name | Data type | Description |
---|---|---|
TABLE_CAT | sysname | Table catalog. |
TABLE_SCHEM | sysname | Table schema. |
TABLE_NAME | sysname | Name of the table. |
COLUMN_NAME | sysname | Name of the column. |
KEY_SEQ | int | Sequence number of the column in a multicolumn primary key. |
PK_NAME | sysname | Primary key identifier. Returns NULL if not applicable to the data source. |
If table_name is NULL, sp_primarykeys returns information about all of the tables in the catalog.
sp_primarykeys is executed by querying the PRIMARY_KEYS rowset of the IDBSchemaRowset interface of the OLE DB provider corresponding to table_server. The table_name, table_schema, table_catalog, and column parameters are passed to this interface to restrict the rows returned.
sp_primarykeys returns an empty result set if the OLE DB provider of the specified linked server does not support the PRIMARY_KEYS rowset of the IDBSchemaRowset interface.
Execute permissions default to the public role.
This example returns primary key columns from the LONDON1 server for the Customers table in the Northwind database.
USE master
EXEC sp_primarykeys @table_server = N'LONDON1',
@table_name = N'Customers',
@table_catalog = N'Northwind',
@table_schema = N'dbo'
sp_catalogs | sp_linkedservers |
sp_column_privileges | sp_tables_ex |
sp_foreignkeys | sp_table_privileges |
sp_indexes | System Stored Procedures |