Когда вы явно объявляете ключевое поле - скажем, в операторе CREATE TABLE
- это не заполняет таблицу syskeys
. Вы должны использовать (например) sp_primarykeys
, чтобы сделать это. Это позволяет вам «зарегистрировать» в таблицах syskeys
первичные, внешние ключи и т. Д., Которые вы хотели бы обнаружить приложением. Вы можете объявить первичный ключ таким способом, даже если для рассматриваемого поля не введено фактическое ограничение.
Хранимая процедура sp_helpconstraint
может использоваться для поиска всех ключей (и т. Д.), Определенных для таблицы.
Чтобы запросить все таблицы в базе данных, вам нужно использовать sysindexes
таблицу и посмотреть, например, поле status
.