Microsoft SQL Server 2008 с пакетом обновления 3 (SP3) позволяет устранить ошибки в одном загружаемом файле. Поскольку исправления являются кумулятивными, каждый новый выпуск содержит все исправления и исправления для системы безопасности, которые были включены в предыдущий выпуск пакета обновления 3 (SP3) для SQL Server 2008.
Проблемы
Рассмотрим следующий сценарий.
-
У вас есть экземпляр геометрии и экземпляр GEOMETRYCOLLECTION , который содержит пересекающиеся многоугольники в Microsoft SQL Server 2008.
-
Вы создаете запрос, который вызывает метод STUnion () между двумя экземплярами.
-
Вы пытаетесь выполнить запрос.
В этом сценарии пересечение многоугольников экземпляра GEOMETRYCOLLECTION не содержится в результатах запроса, возвращаемых методом STUnion () .
Причина
Эта проблема возникает из-за ошибки кода в методе STUnion () .
Решение
Сведения о накопительном пакете обновления
Накопительный пакет обновления 3 для SQL Server 2008 с пакетом обновления 4 (SP3)
Исправление для этой проблемы впервые выпущено в накопительном обновлении 3. Для получения дополнительных сведений о том, как получить этот накопительный пакет обновления для SQL Server 2008 с пакетом обновления 3 (SP3), щелкните следующий номер статьи базы знаний Майкрософт:
2648098 Накопительный пакет обновления 3 для SQL Server 2008 с пакетом обновления 3 (SP3)Примечание. Так как сборки являются кумулятивными, каждый новый выпуск исправлений содержит все исправления и все исправления безопасности, которые были включены в предыдущий выпуск исправлений для SQL Server 2008 с пакетом обновления 3 (SP3). Рекомендуется установить последнюю версию исправления, которая включает это исправление. Дополнительные сведения см. в следующей статье базы знаний Майкрософт:
2629969 Сборки SQL Server 2008, выпущенные после выпуска пакета обновления 3 (SP3) для SQL Server 2008
Дополнительная информация
Чтобы воспроизвести эту ошибку, выполните указанные ниже действия.
-
В Microsoft SQL Server Management Studio выполните следующий запрос:
DECLARE @p1 geometry = 'GEOMETRYCOLLECTION (POLYGON ((0 0, 1 1, 1 0, 0 0)), POLYGON ((0.5 0, 1.5 1, 1.5 0, 0.5 0)))';DECLARE @p2 geometry = 'POINT(0 1)';SELECT @p1.STUnion(@p2)
-
Щелкните на вкладке " Пространственные результаты " результата, возвращаемого запросом.
Если пересечение двух треугольников из первого параметра отсутствует, успешно воспроизводится ошибка.
Статус
Корпорация Майкрософт подтверждает наличие этой проблемы в своих продуктах, которые перечислены в разделе "Применяется к".