Проблемы
Рассмотрим следующий сценарий.
-
Вы создаете индексированное представление для двух таблиц, у которых есть ссылка на внешний ключ в Microsoft SQL Server 2008, в Microsoft SQL Server 2012 или Microsoft SQL Server 2008 R2.
-
Вы обновляете базовые таблицы индексированного представления.
-
Вы запускаете запрос к индексированному представлению, в котором используется подсказка NOEXPAND.
В этом случае вы получаете неверный результат.
Решение
Сведения о накопительном пакете обновления
Накопительное обновление 2 для SQL Server 2012 с пакетом обновления 1 (SP1)
Исправление для этой проблемы впервые выпущено в накопительном обновлении 2. Для получения дополнительных сведений о том, как получить этот накопительный пакет обновления для SQL Server 2012 с пакетом обновления 1 (SP1), щелкните следующий номер статьи базы знаний Майкрософт:
2790947 Накопительный пакет обновления 2 для SQL Server 2012 с пакетом обновления 1 (SP1)Примечание. Поскольку сборки являются кумулятивными, каждый новый набор исправлений содержит все исправления и все исправления системы безопасности, которые были включены в предыдущий выпуск исправлений для SQL Server 2012 с пакетом обновления 1 (SP1). Рекомендуется установить последнюю версию исправления, которая включает это исправление. Дополнительные сведения см. в следующей статье базы знаний Майкрософт:
2772858 Сборки SQL Server 2012, выпущенные после выпуска пакета обновления 1 (SP1) для SQL Server 2012
Накопительное обновление 5 для SQL Server 2012
Исправление для этой проблемы впервые выпущено в накопительном обновлении 5. Для получения дополнительных сведений о том, как получить этот накопительный пакет обновления для SQL Server 2012, щелкните следующий номер статьи базы знаний Майкрософт:
2777772 Накопительный пакет обновления 5 для SQL Server 2012Примечание. Так как сборки являются кумулятивными, каждый новый выпуск исправлений содержит все исправления и все исправления безопасности, которые были включены в предыдущий выпуск исправлений для SQL Server 2012. Рекомендуется установить последнюю версию исправления, которая включает это исправление. Дополнительные сведения см. в следующей статье базы знаний Майкрософт:
2692828 Сборки SQL Server 2012, выпущенные после выпуска SQL Server 2012
Накопительное обновление 4 для SQL Server 2008 R2 с пакетом обновления 2 (SP2)
Исправление для этой проблемы впервые выпущено в накопительном обновлении 4. Для получения дополнительных сведений о том, как получить этот накопительный пакет обновления для SQL Server 2008 R2 SP 2, щелкните следующий номер статьи базы знаний Майкрософт:
2777358 Накопительный пакет обновления 4 для SQL Server 2008 R2 с пакетом обновления 2 (SP2) Примечание. Так как сборки являются кумулятивными, каждый новый набор исправлений содержит все исправления и все исправления системы безопасности, которые были включены в предыдущий выпуск исправлений для SQL Server 2008 R2 с пакетом обновления 2 (SP2). Рекомендуется установить последнюю версию исправления, которая включает это исправление. Дополнительные сведения см. в следующей статье базы знаний Майкрософт:
2730301 Сборки SQL Server 2008 R2, выпущенные после выпуска SQL Server 2008 R2 с пакетом обновления 2 (SP2)
Накопительный пакет обновления 10 для SQL Server 2008 R2 с пакетом обновления 1 (SP1)
Исправление для этой проблемы впервые было выпущено в накопительном обновлении 10. Для получения дополнительных сведений о том, как получить этот накопительный пакет обновления для SQL Server 2008 R2 с пакетом обновления 1 (SP1), щелкните следующий номер статьи базы знаний Майкрософт:
2783135 Накопительный пакет обновления 10 для SQL Server 2008 R2 с пакетом обновления 1 (SP1) Примечание. Так как сборки являются кумулятивными, каждый новый выпуск исправлений содержит все исправления и все исправления безопасности, которые были включены в предыдущий выпуск исправлений для SQL Server 2008 R2 с пакетом обновления 1 (SP1). Рекомендуется установить последнюю версию исправления, которая включает это исправление. Дополнительные сведения см. в следующей статье базы знаний Майкрософт:
2567616 Сборки SQL Server 2008 R2, выпущенные после выпуска SQL Server 2008 R2 с пакетом обновления 1 (SP1)
Накопительное обновление 8 для SQL Server 2008 с пакетом обновления 3 (SP3)
Исправление для этой проблемы впервые выпущено в накопительном обновлении 8. Для получения дополнительных сведений о том, как получить этот накопительный пакет обновления для SQL Server 2008 с пакетом обновления 3 (SP3), щелкните следующий номер статьи базы знаний Майкрософт:
2771833 Накопительный пакет обновления 8 для SQL Server 2008 с пакетом обновления 3 (SP3)Примечание. Так как сборки являются кумулятивными, каждый новый выпуск исправлений содержит все исправления и все исправления безопасности, которые были включены в предыдущий выпуск исправлений для SQL Server 2008 с пакетом обновления 3 (SP3). Рекомендуется установить последнюю версию исправления, которая включает это исправление. Дополнительные сведения см. в следующей статье базы знаний Майкрософт:
2629969 Сборки SQL Server 2008, выпущенные после выпуска пакета обновления 3 (SP3) для SQL Server 2008
Статус
Корпорация Майкрософт подтверждает наличие этой проблемы в своих продуктах, которые перечислены в разделе "Применяется к".
Дополнительная информация
Программное обеспечение для правил |
Название правила |
Описание правила |
Версии продуктов, для которых вычисляется правило |
Системный центр Advisor |
SQL Server может возвращать неверный результат, если вы запрашиваете индексированное представление с помощью подсказки "нет развертывания" |
Для System Center Advisor обнаружено одно или несколько индексированных представлений, ссылающихся на несколько таблиц с отношением первичный ключ — внешний ключ. В некоторых специальных условиях SQL Server может возвращать неверный результат при выполнении запроса индексированного представления, если не использовать подсказку Expand. Ознакомьтесь со сведениями, приведенными в этой статье, и сделайте необходимые корректирующие действия. |
SQL Server 2008 SQL Server 2008 R2SQL Server 2012 |