Как я могу иметь уникальный первичный ключ INT для таблицы, распределенной по нескольким географическим местоположениям, используя sql azure? - PullRequest
0 голосов
/ 25 марта 2012

У меня есть Organization table и Site table в моей базе данных.

Приложение установлено на различные Geographical Sites, и каждый сайт имеет свою собственную локальную базу данных.

Яиспользуя Sql Azure Synchronization Group для синхронизации всех данных сайтов один раз в неделю.Все остальные данные можно синхронизировать через неделю, но эта таблица Site - при каждом добавлении нового сайта мне нужен уникальный идентификатор для этого сайта - я знаю, что могу использовать GUID, который использовалв других местах, но есть требование для использования только INT.

Если я использую INT, возможно, что один и тот же ключ INT вставлен в разные места, что при синхронизации приведет кперезаписанные записи и потеря Sites.

Что я могу сделать, чтобы уникальный INT первичный ключ для каждой записи, вставленной в эту таблицу?

Скажите, пожалуйста, о возможных решениях.

1 Ответ

1 голос
/ 26 марта 2012

Это отдельные базы данных, поэтому SQL Azure может предоставить уникальный идентификатор сайта только через Guid.Может быть, вы могли бы организовать простой сервис WCF для выдачи последовательных INT для вас, который вы бы позвонили перед созданием сайта (и, возможно, он сохранил свой «следующий идентификатор» в строке таблицы, или что-то в этом роде.ваша служба WCF либо Singleton, либо может выдавать несколько идентификаторов без повторного использования идентификаторов. У вас может быть случайный неиспользуемый сайт INT, поскольку возможно, что с кодом, вызывающим службу WCF, что-то идет не так, но если у вас все в порядке с пробелами в ваших идентификаторах,это не должно иметь значения.

...