sql >> Databáze >  >> RDS >> Sqlserver

Můžete mít cizí klíč na zobrazení tabulky propojeného serveru v SQLServer 2k5?

Cizí klíče nelze připojit k nelokálním objektům – musí odkazovat na místní tabulky. Dostanete chybu „maximální počet předpon“, protože odkazujete na tabulku se 4dílným názvem (LinkedServer.Database.Schema.Object) a místní objekt by měl pouze 3dílný název.

Další řešení:

  1. Replikujte data ze zdroje (umístění zobrazení) na stejný server jako tabulka, do které se pokoušíte přidat klíč. Můžete to dělat každou hodinu, denně nebo cokoliv, v závislosti na tom, jak často se zdrojová data mění.
  2. Přidejte spouštěč do zdrojové tabulky, abyste do své místní kopie vložili jakékoli změny. To by bylo v podstatě stejné jako číslo 1, ale s okamžitým počtem změn
  3. Přidejte do tabulky spouštěč MÍSTO", který ručně kontroluje omezení cizího klíče výběrem z propojeného serveru a porovnáním hodnoty, kterou se pokoušíte VLOŽIT/AKTUALIZOVAT. Pokud se neshoduje, můžete změnu odmítnout .


  1. Generujte náhodná data časového testu SQL Server 2008

  2. TSQL Shred XML - Je to správné nebo existuje lepší způsob (nováček @ shredding XML)

  3. Cizí klíč k jedné z mnoha tabulek?

  4. Proč tento regulární výraz nefunguje v postgreSQL