Chave primária com a opção "NÃO PARA REPLICAÇÃO"


21

Recentemente assumi um projeto e descobri que na maioria das tabelas a chave primária possui a propriedade " NOT FOR REPLICATION".

Não sou DBA, mas certamente na maioria dos bancos de dados, um registro sem chave primária seria considerado corrompido. A chave primária da maioria desses registros quase certamente seria usada como chave estrangeira em algum lugar.

Isso foi um erro do desenvolvedor anterior (que não trabalha mais para a empresa) ou há alguma outra lógica envolvida? Nós nem usamos replicação no ambiente de produção, portanto isso realmente não afeta nada sério, mas eu queria saber se existem outros efeitos colaterais de remover todas essas diretivas que eu não conheço.

Não encontrei muitos resultados úteis para vários termos de pesquisa relacionados a este tópico, por isso estou bastante certo de que este é apenas um erro bobo que preciso reverter, portanto, essa pergunta é realmente para atenuar minha paranóia.

Respostas:


24

NOT FOR REPLICATION indica que, quando um registro é replicado para esta tabela, qualquer valor inserido na coluna de identidade por meio do agente de replicação mantém seu valor original do sistema de origem, mas quaisquer registros adicionados localmente ainda aumentam o valor da identidade.

ATUALIZAÇÃO: Link antigo quebrado

Aqui está o link para os documentos de table_constraint que detalham qual configuração a NOT FOR REPLICATION fará:

Restrição de tabela


2
O link está podre
Aleksandr Kravets

@AleksandrKravets cheers, updated
steoleary 12/12
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.