ALTER TABLE [SchemaName].[TableName] WITH CHECK ADD
CONSTRAINT [FK_TableName_TableName] FOREIGN KEY([Id])
REFERENCES [SchemaName].[TableName] ([Id])
Essa chave estrangeira é completamente redundante e inútil, basta excluí-la. Ele nunca pode ser violado, pois uma linha corresponde a si mesma, validando a restrição.
Em uma tabela hierárquica, o relacionamento seria entre duas colunas diferentes (por exemplo,
Id
e ParentId
) Por que ele pode ter sido criado muito provavelmente através do uso do designer visual, se você clicar com o botão direito do mouse no nó "Chaves" no explorador de objetos e escolher "Nova chave estrangeira", feche a caixa de diálogo sem excluir a chave estrangeira criada e faça algumas outras alterações no designer de tabela aberta e salvá-lo criarão esse tipo de restrição redundante.