Ini berfungsi untuk saya di SQL Server 2008. Setelah memuat bentuk sebagai geometri, gunakan MakeValid()
untuk memperbaikinya, lalu muat ulang ke geografi.
declare @gt nvarchar(max)
declare @gm geometry
declare @gmvalid geometry
set @gmvalid = @gm.MakeValid()
set @gt = @gmvalid.STAsText()
--select @gt
if LEFT(@gt,7 ) = 'POLYGON'
begin
set @gg = geography::STPolyFromText(@gt, 4326)
end
else
begin
set @gg = geography::STMPolyFromText(@gt, 4326)
end