Clave principal con la opción "NO PARA REPLICACIÓN"

21

Recientemente me hice cargo de un proyecto y descubrí que en la mayoría de las tablas la clave primaria tiene la propiedad " NOT FOR REPLICATION".

No soy un DBA, pero seguramente en la mayoría de las bases de datos, un registro sin una clave primaria se consideraría dañado. La clave principal de la mayoría de estos registros seguramente se utilizaría como clave externa en alguna parte.

¿Fue esto un error por parte del desarrollador anterior (que ya no trabaja para la empresa) o hay alguna otra lógica involucrada? Ni siquiera usamos la replicación en el entorno de producción, por lo que en realidad esto no afecta nada grave, pero me preguntaba si hay otros efectos secundarios de eliminar todas estas directivas que no conozco.

No he encontrado muchos resultados útiles para varios términos de búsqueda relacionados con este tema, por lo que estoy bastante seguro de que este es solo un error tonto que necesito revertir, por lo que esta pregunta es realmente para calmar mi paranoia.

Steve Rukuts
fuente

Respuestas:

24

NO PARA REPLICACIÓN indica que cuando un registro se replica en esta tabla, cualquier valor que se inserte en la columna de identidad a través del agente de replicación mantiene su valor original del sistema de origen, pero cualquier registro agregado localmente aún incrementa el valor de identidad.

ACTUALIZACIÓN: Enlace viejo roto

Aquí está el enlace a los documentos table_constraint que detalla qué hará la configuración NOT FOR REPLICATION:

Restricción de tabla

esteoleario
fuente
2
Link se ha podrido
Aleksandr Kravets
@AleksandrKravets saludos, actualizado
steoleary