S 是 share lock,理論上應該不會造成嚴重 Block 才對,
問題瓶頸應該是 T-SQL 語法跨 Server 抓取大量資料
在 Linked Server 中進行跨 Server 的 Table JOIN,
且 JOIN 同時又有變更 collation 的情況,基本上這就大概沒有效能可言,
大概都要把全部的資料拿出來比對才能產生結果,
猜測是這原因造成 AP timeout 的情況
建議改成把篩選過後的資料送進其中一台 SQL Server 的 Temp Table,
該 Temp Table 定序要跟該 Server 定序一致,
之後再進行 Table JOIN 並整理成想呈現的結果,
可以試看看對效能是否有所提升
另外可以把 T-SQL 直接放在 SSMS 上跑看看,
觀察一下執行計畫和 Logical Read,對於T-SQL 是不是效能瓶頸的判斷也會有幫助
以上請參考看看 ~~