Зачем кому-то использовать управление диапазонами идентификаторов с SQL Server

Когда я начал работать над репликацией несколько лет назад, я был убежден, что управление диапазонами идентификаций было доступно только на последних серверах SQL для устаревших целей, так как до SQL Server 2000 поле типа GUID не существовало, и большинство первичных ключей были построенный на автоинкрементных полях.

Я уже видел, что некоторые из этих баз данных «работают», и могу сказать, что управление этими идентификационными рядами в сложной топологии репликации может быть реальной PITA, гарантированной головной болью и сеансами отладки в течение всей ночи.

Я только что прочитал здесь, что управление диапазонами идентификаторов по-прежнему предлагалось по умолчанию с SQL Server 2008 , за которым следует этот другой вопрос о методах управления лучшими практиками и идентификационными номерами, где # mwolfe02 приходит к выводу, что в некоторых ситуациях пользователи не могут вставлять данные в базу данных если им не предоставлено право владельца дБ!

Беспокоит, не так ли. Итак, за исключением устаревших баз данных, почему кто-то должен использовать управление диапазонами идентификаторов с SQL-серверами? В более общем виде, почему кто-то продвигает какой-либо предопределенный метод идентификации автоинкремента в базе данных?

Я полагаю, что одной из причин продолжения использования идентификационных значений является недостаток использования GUID в качестве первичных ключей в базе данных, который здесь документируется GUID как ОСНОВНЫЕ КЛЮЧИ .

Я лично никогда не работал со сложной топологией репликации и всегда использовал целые числа при настройке репликации. Я управляю диапазонами идентификаторов, корректируя значение приращения функции идентификации, поэтому, если у меня есть два сервера в репликации, у меня будут нечетные числа на одном и четном числе, а на другой – на 2. Такая же настройка применяется к нескольким серверам, приращение, равное количеству серверов.

Я бы также начал свой идентификационный диапазон с наименьшим числом для целого числа (-2,147,483,648 до 2,147,483,647), так как существует множество значений, которые не используются в качестве столбцов целочисленного идентификатора, чаще всего не начинаются с одного. Даже если у вас есть 20 задействованных серверов, которые по-прежнему дают вам целый ряд значений для использования.

Давайте будем гением компьютера.