Fremmednøgler kan ikke forbindes til ikke-lokale objekter - de skal referere til lokale tabeller. Du får fejlen "maksimalt antal præfikser", fordi du refererer til tabellen med et 4-delt navn (LinkedServer.Database.Schema.Object), og et lokalt objekt vil kun have et 3-delt navn.
Andre løsninger :
- Repliker dataene fra kilden (visningens placering) til den samme server som den tabel, du forsøger at tilføje nøglen til. Du kan gøre dette hver time, dagligt eller hvad som helst, afhængigt af hvor ofte kildedataene ændres.
- Tilføj en trigger på kildetabellen for at skubbe eventuelle ændringer til din lokale kopi. Dette ville i det væsentlige være det samme som #1, men med øjeblikkelig population af ændringer
- Tilføj en INSTEAD OF"-udløser til din tabel, der manuelt kontrollerer begrænsningen af fremmednøgle ved at vælge fra den linkede server og sammenligne den værdi, du forsøger at INSERT/OPDATERE. Hvis den ikke stemmer overens, kan du afvise ændringen .