[記錄] SSMS 20 geometry 支援度

  • 23
  • 0
  • 2025-02-27

記錄 SSMS 不同版本空間繪圖功能支援性不同狀況。SSMS 的空間繪圖功能在版本 20 會因為 geometry 結點數過多發生錯誤無法呈現。

最近發現同一個 geometry 在 SSMS 20 會發生錯誤,在 SSMS 18 和 19 不會發生錯誤,最後判斷是 20 的特性。

以下語法可以用來測試 SSMS geometry 結點問題

SELECT GEOMETRY::Point(328297.67,2764394.79, 3826)
      .STBuffer(10).STBuffer(10).STBuffer(10).STBuffer(10)--1032 節點,SSMS 20 ok 
      .STBuffer(10).STBuffer(10)-- 4125 節點 SSMS 20 空間繪製錯誤
      .STBuffer(10).STBuffer(10)
      .STBuffer(10).STBuffer(10)
      .STBuffer(10).STBuffer(10)-- 26萬 節點

記錄測試結果的截圖

SSMS 20 大約 4000 節點開始發生錯誤:One of the identified items was in an invalid format.

SSMS 18、19 可呈現 4125 節點的 geometry,繼續測試極限 SSMS 18 在 26萬結點時會顯示 object too large,且僅會跳過節點太多的 geometry,若有其它可呈現的 geometry 仍會繪製。

結論

這應該是一個比較少使用者會遇到的特性,只有當 geometry 結點超過 4000 且 SSMS 版本為 20 才會發生錯誤。

Google 搜尋沒有找到類似的案例就記錄一下。