有趣的问题。我有以下CTE来连接来自链接服务器的一些表,这是我们的SAP数据。此CTE位于存储过程中,然后通过计时器上的SQL Server代理作业执行(每10分钟一次)。这运行了差不多20个小时然后死了多部分标识符无法绑定错误(精确错误低于CTE)。
运行作业的服务器:SQL Server 2008 R2(无SP)
链接服务器:SQL Server 2005 SP3容纳SAP
CTE:
WITH TaktValues ([Counter], NODE, PLNNR) AS
(
SELECT
MAX(plpo1.ZAEHL) AS [Counter], MAX(plpo1.PLNKN) AS NODE, plpo1.PLNNR
FROM
etl.PLPO plpo1
GROUP BY plpo1.PLNNR
)
SELECT
s022.AUFNR AS WorkOrder,
(CASE
WHEN plpo.SPLIM = 0 THEN 0
ELSE plpo.VGW01/plpo.SPLIM
END) AS TaktTime
INTO
[plc].[TaktTime]
FROM
etl.S022 s022
INNER JOIN
etl.AFPO afpo on afpo.AUFNR = s022.AUFNR
INNER JOIN
etl.AFKO afko on afko.AUFNR = s022.AUFNR
INNER JOIN
etl.PLPO on plpo.PLNNR = afko.PLNNR
INNER JOIN
TaktValues ON plpo.PLNNR = TaktValues.PLNNR
AND plpo.ZAEHL = TaktValues.[Counter]
AND plpo.PLNKN = TaktValues.NODE
WHERE
s022.AUFNR IN (SELECT DISTINCT WorkOrder FROM plc.AlarmData)
ORDER BY
s022.AUFNR DESC
错误:
Msg 8180,Level 16,State 1,Line 1
声明无法准备。Msg 4104,Level 16,State 1,Line 1
多部分标识符" Tbl1008.AUFNR"无法受约束。Msg 4104,Level 16,State 1,Line 1
多部分标识符" Tbl1008.AUFNR"无法受约束。
答案 0 :(得分:0)
似乎您缺少对链接服务器的完整引用,如“多部分标识符”Tbl1008.AUFNR“无法绑定”中所述。您需要为作业指定链接服务器对象的完整名称,以便能够绑定表对象。这样做:
[服务器]。[DATABASE_NAME]。[SCHEMA_NAME]。[表名]