Това работи за мен на SQL Server 2008. След като заредите формата като геометрия, използвайте MakeValid()
за да го коригирате, след това презаредете в география.
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