Перекрестные ссылки на внешние ключи не поддерживаются!

я есть SQLServer со связанным сервером на другую базу данных в другом месте. Я создал вид на этом связанном сервере

create view vw_foo as
select
[id],
[name]
from LINKEDSERVER.RemoteDatabase.dbo.tbl_bar

Я хотел бы, чтобы следующее

alter table [baz] 
add foo_id int not null
go

alter table [baz] with check 
add constraint [fk1_baz_to_foo] 
  foreign key([foo_id]) 
  references [dbo].[vw_foo] ([id])
go

Но это приводит к ошибке: «Внешний ключ« fk1_baz_to_foo »ссылается на объект« dbo.vw_foo », который не является таблицей пользователя».

Если я попытаюсь поставить внешний ключ прямо на стол, используя следующую

alter table [baz] with check 
add constraint [fk1_baz_to_bar] 
  foreign key([foo_id]) 
  references LINKEDSERVER.RemoteDatabase.dbo.tbl_bar ([id])

Тогда я получаю следующую ошибку:

Имя объекта 'LINKEDSERVER.RemoteDatabase.dbo.tbl_bar' содержит больше, чем максимальное количество префиксов. Максимум 2.

Есть ли способ, которым я могу достичь того же эффекта?

Ответы на вопрос(3)

Ваш ответ на вопрос