Всегда ли идентификаторы базы данных SQL Server положительны?
Как в dbid из базы данных sysd.
SELECT name, dbid FROM master.dbo.sysdatabases
Этот вопрос не имеет ничего общего со столбцами идентификации или первичными ключами.
Отредактировано, поскольку вы изменили вопрос.
В этом запросе: SELECT name, dbid from master.dbo.sysdatabases Значение dbid ВСЕГДА будет положительным, поскольку оно определено как 1,1 идентификатора.
Существует некоторое программное обеспечение (Microsoft Dynamics), которое не позволяет использовать отрицательные ключи в целочисленных полях, длина которых превышает 2 байта. Кроме того, я не вижу причин ограничивать столбец идентификаторов положительными числами, когда столбец не используется в качестве внешнего идентификатора. то есть идентификатор клиента
Они не должны быть, но общая практика - делать их. Вы можете легко создать первичный ключ, который является идентификатором с отрицательным приращением идентификатора. Вы также не сделаете это тождеством и не придадите ему отрицательное значение.
Они не обязательно должны быть, но обычно это так.
Возможно, вам будет интересно прочитать это обсуждение в MSDN: Преимущество / недостатки отрицательных значений идентичности