Корпорация Майкрософт распространяет исправления Microsoft SQL Server 2008 R2 или Microsoft SQL Server 2012 в виде одного загружаемого файла. Поскольку исправления являются накопительными, каждый новый выпуск содержит все исправления и исправления безопасности, которые были включены в предыдущий выпуск исправлений SQL Server 2008 R2 или SQL Server 2012.
Проблема
При попытке просмотреть отчет в Microsoft SQL Server 2012 Reporting Services (SSRS 2012), в Microsoft SQL Server 2008 R2 Reporting Services (SSRS 2008 R2) или в Microsoft SQL Server 2008 Reporting Services (SSRS 2008), может появиться следующее сообщение об ошибке:
Примечание
библиотека! ReportServer_0-230!1БФ8! Дата и время:: e ОШИБКА: Throwing Microsoft.ReportingServices.Diagnostics.Utilities.InternalCatalogException: разные параметры запроса привели к одному и тому же хэшу. Эта возможность не поддерживается. Microsoft.ReportingServices.Diagnostics.Utilities.InternalCatalogException: на сервере отчетов произошла внутренняя ошибка. Дополнительные сведения см. в журнале ошибок.
Причина
Эта проблема возникает из-за того, что в некоторых редких случаях разные наборы параметров могут генерировать одно и то же значение хэша.
Когда средство просмотра отчетов запрашивает создание отчета, служба SSRS пытается найти snapshot отчета в базе данных ReportServerTempDB, используя хэш, создаваемый параметрами. Затем сервис сравнивает параметры из запроса с сохраненными параметрами. Если параметры совпадают, сервер SSRS выбрасывает исключение внутреннего каталога, указанное в разделе «Симптомы».
Решение
Сведения о накопительном пакете обновления
Накопительный пакет обновления 2 для SQL Server 2012 с пакетом обновления 1 (SP1)
Исправление для этой проблемы впервые выпущено в накопительном пакете обновления 2. Дополнительные сведения о том, как получить этот накопительный пакет обновления для SQL Server 2012 SP1, см. в следующей статье базы знаний Майкрософт:
2790947 Накопительный пакет обновления 2 для SQL Server 2012 с пакетом обновления 1 (SP1) Так как сборки являются накопительными, каждый новый выпуск исправления содержит все исправления и исправления для системы безопасности, которые вошли в предыдущий выпуск исправления SQL Server 2012 с пакетом обновления 1 (SP1). Рекомендуется рассмотреть возможность применения последнего выпуска исправления, содержащего это исправление. Для просмотра статьи в базе знаний Майкрософт щелкните следующий номер статьи:
2772858 Сборки SQL Server 2012 г., выпущенные после выпуска SQL Server 2012 с пакетом обновления 1 (SP1)
Накопительный пакет обновления 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 с пакетом обновления 2 (SP2), откройте статью со следующим номером в базе знаний Майкрософт:
2777358 Накопительный пакет обновления 4 для SQL Server 2008 R2 с пакетом обновления 2 (SP2)
Примечание. Поскольку сборки являются накопительными, каждый новый выпуск исправления содержит все исправления и исправления для системы безопасности, которые были включены в предыдущий выпуск исправления SQL Server 2008 R2 с пакетом обновления 2 (SP2). Рекомендуется рассмотреть возможность применения последнего выпуска исправления, содержащего это исправление. Для просмотра статьи в базе знаний Майкрософт щелкните следующий номер статьи:
2730301 Сборки SQL Server 2008 R2, выпущенные после выпуска SQL Server 2008 R2 с пакетом обновления 2
Накопительный пакет обновления 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
Накопительный пакет обновления 8 для SQL Server 2008 с пакетом обновления 3 (SP3)
Исправление для этой проблемы впервые было выпущено в накопительном пакете обновления 8. Для получения дополнительной информации о том, как получить этот накопительный пакет обновления для SQL Server 2008 с пакетом обновления 3, щелкните следующий номер статьи в базе знаний Майкрософт:
2771833 Накопительный пакет обновления 8 для SQL Server 2008 с пакетом обновления 3 (SP3). Так как сборки являются накопительными, каждый новый выпуск исправления содержит все исправления и исправления для системы безопасности, включенные в предыдущий выпуск исправления SQL Server 2008 г. с пакетом обновления 3. Рекомендуется рассмотреть возможность применения последнего выпуска исправления, содержащего это исправление. Для просмотра статьи в базе знаний Майкрософт щелкните следующий номер статьи:
2629969 Сборки SQL Server 2008 г., выпущенные после выпуска SQL Server 2008 с пакетом обновления 3 (SP3)
SQL Server 2008 R2 с пакетом обновления 2 (SP2)
Исправление для этой проблемы было впервые выпущено в накопительном пакете обновления 1 для SQL Server 2008 R2 с пакетом обновления 2. Дополнительные сведения о том, как получить этот накопительный пакет обновления, см. в следующей статье базы знаний Майкрософт:
2720425 Накопительный пакет обновления 1 для пакета обновления SQL Server 2008 R2 2Примечание Поскольку сборки являются накопительными, каждый новый выпуск исправления содержит все исправления и исправления для системы безопасности, которые входили в предыдущий выпуск исправления SQL Server 2008 R2. Рекомендуется рассмотреть возможность применения последнего выпуска исправления, содержащего это исправление. Для просмотра статьи в базе знаний Майкрософт щелкните следующий номер статьи:
2730301 Сборки SQL Server 2008 R2, выпущенные после выпуска SQL Server 2008 R2 с пакетом обновления 2
SQL Server 2008 R2 с пакетом обновления 1 (SP1)
Исправление для этой проблемы было впервые выпущено в накопительном пакете обновления 7 для SQL Server 2008 R2 с пакетом обновления 1 (SP1). Дополнительные сведения о том, как получить этот накопительный пакет обновления, см. в следующей статье базы знаний Майкрософт:
Накопительный пакет обновления 2703282 7 для SQL Server 2008 R2 с пакетом обновления 1Примечание Поскольку сборки являются накопительными, каждый новый выпуск исправления содержит все исправления и исправления для системы безопасности, которые были включены в предыдущий выпуск исправления SQL Server 2008 R2. Рекомендуется рассмотреть возможность применения последнего выпуска исправления, содержащего это исправление. Для просмотра статьи в базе знаний Майкрософт щелкните следующий номер статьи:
2567616 Сборки SQL Server 2008 R2, выпущенные после выпуска SQL Server 2008 R2 с пакетом обновления 1
SQL Server 2008 R2
Исправление для этой проблемы впервые выпущено в накопительном пакете обновления 13. Для получения дополнительной информации о том, как получить этот накопительный пакет обновления для SQL Server 2008 R2, откройте статью со следующим номером в базе знаний Майкрософт:
2679366 Накопительный пакет обновления 13 для SQL Server 2008 R2Note Поскольку сборки являются накопительными, каждый новый выпуск исправления содержит все исправления и исправления для системы безопасности, которые были включены в предыдущий выпуск исправления SQL Server 2008 R2. Рекомендуется рассмотреть возможность применения последнего выпуска исправления, содержащего это исправление. Для просмотра статьи в базе знаний Майкрософт щелкните следующий номер статьи:
981356 Сборки SQL Server 2008 R2, выпущенные после выпуска SQL Server 2008 R2. Примечание После применения этого исправления будет применено решение для обработки сценария, в котором разные наборы параметров имеют одинаковое значение хэша.
Временное решение
Чтобы обойти эту проблему, внесите изменения в порядок или имена параметров либо добавьте фиктивный параметр. Эти изменения создадут новый набор параметров, который приведет к другому хеш-значению.
Состояние
Корпорация Майкрософт подтвердила, что это проблема продуктов Microsoft, перечисленных в разделе «Относится к».