Външните ключове не могат да бъдат свързани с нелокални обекти - те трябва да препращат към локални таблици. Получавате грешката „максимален брой префикси“, защото препращате към таблицата с име от 4 части (LinkedServer.Database.Schema.Object), а локален обект ще има само име от 3 части.
Други решения:
- Репликирайте данните от източника (местоположението на изгледа) на същия сървър като таблицата, към която се опитвате да добавите ключа. Можете да правите това всеки час, всеки ден или каквото и да е, в зависимост от това колко често се променят изходните данни.
- Добавете тригер към изходната таблица, за да прокарате всички промени във вашето локално копие. Това по същество би било същото като #1, но с незабавно попълване на промени
- Добавете тригер INSTEAD OF" към вашата таблица, който ръчно проверява ограничението за външен ключ, като избира от свързания сървър и сравнява стойността, която се опитвате да ВМЪКНЕТЕ/АКТУАЛИЗИРАТЕ. Ако не съвпада, можете да отхвърлите промяната .