如何在SQL Server spatial中排除此CLR错误

如何在SQL Server spatial中排除此CLR错误,sql,sql-server,spatial,spatial-query,Sql,Sql Server,Spatial,Spatial Query,我有以下疑问: Insert into PropertyTractsTemp Select P.field1 as field1 , P.field2 as field2, P.field3 as field3, P.field4 as field4, G.GEOID, P.field5 as field5 from PROPERTY_PARAMETERS P jo

我有以下疑问:

Insert into PropertyTractsTemp
    Select 
        P.field1 as field1 , 
        P.field2 as field2, 
        P.field3 as field3, 
        P.field4 as field4, 
        G.GEOID, 
        P.field5 as field5
    from PROPERTY_PARAMETERS P
    join BH_EDW.dbo.REF_GEOID_GEOG G WITH(INDEX([geog_sidx]))on G.geom.STIntersects(P.GeoLocation) =1
    where P.GEOID is null
这可能需要匹配1000到100Mil记录。 无论哪种方式,查询都会停止,我收到以下错误:

Msg 10316, Level 16, State 1, Line 3
The app domain with specified version id (4) was unloaded due to memory pressure and could not be found.
The statement has been terminated.
我被告知这是一个CLR错误,它与空间索引有关,但没有解释如何解决它


任何智慧都将不胜感激。

我在列中使用自定义Clr类型时也遇到了同样的问题。 我解决了在SqlServer服务上添加“-g1024”(或者您可以选择其他值)的问题。

我在列中使用自定义Clr类型时遇到了相同的问题。 我解决了在SqlServer服务上添加“-g1024”(或者您可以选择其他值)的问题。

您是否使用32位SQL Server?64位Web版。此查询以前一直有效。谢谢。啊,您的错误类似于32位出现的问题,但根本原因不存在于64位。我想我对你没有任何洞察力;对不起,32位的解决方案是什么?在32位中,有一个专门为CLR函数分配的内存,默认情况下设置得相当小,导致内存错误;因此,您必须在启动时使用-g参数来增加保留。也就是说,在64位中,预订的处理方式不同,所以这不应该是您的问题。您是否使用32位SQL Server?64位Web版。此查询以前一直有效。谢谢。啊,您的错误类似于32位出现的问题,但根本原因不存在于64位。我想我对你没有任何洞察力;对不起,32位的解决方案是什么?在32位中,有一个专门为CLR函数分配的内存,默认情况下设置得相当小,导致内存错误;因此,您必须在启动时使用-g参数来增加保留。也就是说,保留不是以64位的相同方式处理的,所以这不应该是您的问题。不抱歉,我仍然有问题…是在第一次sql服务之后才解决的,但是在一些查询之后,问题仍然存在…不抱歉,我仍然有问题…是在第一次sql服务之后才解决的,但是在一些查询之后,问题仍然是。。。