有趣的問題。我有以下CTE連接來自鏈接服務器的一些表格,這是我們的SAP數據。此CTE位於存儲過程中,然後通過定時器上的SQL Server代理作業(每10分鐘)執行一次。這運行良好近20小時,然後死亡與多部分標識符不能綁定錯誤(確切的錯誤低於CTE)。具有鏈接服務器的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
Statement(s) could not be prepared.Msg 4104, Level 16, State 1, Line 1
The multi-part identifier "Tbl1008.AUFNR" could not be bound.Msg 4104, Level 16, State 1, Line 1
The multi-part identifier "Tbl1008.AUFNR" could not be bound.
我沒有看到鏈接服務器引用任何部分4名在SQL ...? – DarrenMB
「Tbl1008.AUFNR」對我來說是一個很大的紅點,因爲它不在您的查詢中。我期望它是一個用於視圖或其他相關子對象的子組件;系統可能會重新創建或更改此視圖,導致錯誤。 – DarrenMB
以4部分命名 - >正在通過同義詞進行調用。 – devnate