我有一个带有链接服务器的 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。
有什么办法可以达到同样的效果吗?