Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Колона за идентичност на SQL Server 2000/2005 + репликация

Има опцията „НЕ ЗА РЕПЛИКАЦИЯ ", който може да се приложи към колони за идентичност (и тригери и други ограничения).

Във вашия пример сървър1 ще постави 1-10, но просто ще приеме репликирани 11-20.

Няколко начина за задаване на вашите семена:

Или:задайте вашето начално начало/инкременти с НЕ ЗА РЕПЛИКАЦИЯ по този начин

  • Семена 1, нарастване 2
  • Семе 2, нарастване 2
  • Семена -1, увеличение -2
  • Семена -2, увеличение -2
  • Семена 1000000001, нарастване 2
  • Семена 1000000002, нарастване 2
  • Семена -1000000002, увеличение -2
  • Семена -1000000001, увеличение -2

Това ви дава 500 000 000 на сървър за 8 сървъра

Или:Добавете втора колона, наречена ServerID, за да дадете съставни ключове, използвайте NOT FOR REPLICATION за колоната ID

Това се мащабира до, да кажем, 256 сървъра за tinyint с 2^32 реда на сървър

Така или иначе работи...




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. по-добър начин за генериране на таблица месеци/години

  2. Трябва ли да използвам SQL транзакции, докато чета записи?

  3. numeric(38,0) като колона с първичен ключ; добро, лошо, на кого му пука?

  4. Как да коригирате „Сървърът не е конфигуриран за ДОСТЪП ДО ДАННИ“ в SQL Server

  5. Как да показвате данни от база данни в текстово поле и да ги актуализирате