Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

chaves estrangeiras na tabela de banco de dados diferente


Eu evitaria fazer isso se pudesse - você pode manter as duas tabelas em um banco de dados e usar um FK?

As tabelas pai e filho estão em bancos de dados diferentes.

Embora você não possa usar uma chave estrangeira nessa situação, existem soluções alternativas – você pode usar gatilhos ou UDFs agrupados em restrições de verificação. De qualquer forma, a integridade de seus dados não é completamente estanque:se o banco de dados com sua tabela pai travar e você restaurá-lo de um backup, você pode facilmente ficar órfão.

O relacionamento pai-filho é imposto por gatilhos.

Existem algumas situações em que os gatilhos não são acionados, como:

· Uma tabela é descartada.

· Uma tabela está truncada.

· As configurações para gatilhos aninhados e/ou recursivos impedem o disparo de um gatilho.

Além disso, um gatilho pode estar apenas incorreto. De qualquer forma, você pode acabar com órfãos em seu banco de dados.