Ключи IDENTITY - это хорошая практика для ключей, генерируемых на стороне сервера, в средах, где у вас нет репликации или объединения больших объемов данных. Как они реализованы, они не допускают дублирования в одной таблице, так что не беспокойтесь об этом. У них также есть преимущество минимизации фрагментации в таблицах, в которых нет большого количества DELETE.
GUID - это обычная альтернатива. У них есть преимущество в том, что вы можете создавать их на веб-уровне, не требуя двусторонней обработки БД. Однако они больше, чем IDENTITIES, и могут привести к крайней фрагментации таблицы. Поскольку они (полу) случайны, вставки распределяются по всей таблице, а не фокусируются на одной странице в конце.