Первинний ключ з опцією "НЕ ДЛЯ ЗАМОВЛЕННЯ"


22

Нещодавно я взяв на себе проект, і я виявив, що в більшості таблиць первинний ключ має властивість " NOT FOR REPLICATION".

Я не DBA, але, безумовно, у більшості баз даних запис без первинного ключа вважатиметься пошкодженим. Первинний ключ більшості цих записів майже напевно десь використовувався б як зовнішній ключ.

Це була помилка з боку попереднього розробника (який більше не працює для компанії), чи є якась інша логіка? Ми навіть не використовуємо реплікацію у виробничому середовищі, тому це насправді не впливає на щось серйозне, але мені було цікаво, чи є якісь інші побічні ефекти від видалення всіх цих директив, про які я не знаю.

Я не знайшов багато корисних звернень для кількох пошукових термінів, пов’язаних із цією темою, тому я цілком впевнений, що це просто дурна помилка, яку мені потрібно переламати, тому це питання справді може заспокоїти мою параноїю.

Відповіді:


25

НЕ ДЛЯ ЗАВДАННЯ вказує, що коли реплікація запису в цю таблицю, будь-яке значення, вставлене в стовпець ідентифікації за допомогою агента реплікації, зберігає його вихідне значення з вихідної системи, але будь-які записи, додані локально, все ще збільшують значення ідентичності.

ОНОВЛЕННЯ: Старе посилання зламано

Ось посилання на документи table_constraint, в яких детально описано, які параметри НЕ ДЛЯ ЗАВДАННЯ виконуватимуть:

Обмеження таблиці


2
Посилання гнило
Олександр Кравець

@AleksandrKravets ура, оновлено
steoleary
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.