Table 和服务器调用的前缀错误

Prefix Error for Table and Server Call

我收到以下错误

Msg 117, Level 15, State 1, Procedure lp_..._data, Line 153
The object name 'abcDBProd.Intermediate.dbo.upld_data' contains more than the maximum number of prefixes. The maximum is 2.

Msg 117, Level 15, State 1, Procedure lp_..._Tables, Line 520
The object name 'ABCDBPROD.Intermediate.dbo.UPLD_data' contains more than the maximum number of prefixes. The maximum is 2.

如果我理解正确 purpose/meaning 错误,我不能在 table 名称之前有超过 2 个前缀。在第一个语句中,我使用了服务器本身的名称,在第二种情况下,我使用了 LinkedServer 名称。我感到困惑的是,我在这个 server/databse 上有很多 table,它们都以相同的方式连接,其中 none 导致了这个错误。但是这个是。

我该怎么办?是权限问题还是安全问题?我不确定在哪里看。

调用 table 的命令截断、插入或更新数据是否重要?有没有像我不能截断但我可以插入这样的限制?为什么它在某些情况下有效而在其他情况下无效?

在某些上下文中不允许链接表,例如 DROP TABLEINSERT INTO。如果您使用包含服务器名称的名称,则会出现此错误。

例如,这是不允许的:

drop table abcDBProd.Intermediate.dbo.upld_data;

您可以使用 openquery() 来解决这个问题。