KB2696161 - ИСПРАВЛЕНО: Сообщение об ошибке при попытке просмотра отчета в SSRS 2012, в SSRS 2008 R2 или в SSRS 2008: "Разные параметры запроса привели к одному хэшу"

Применяется к
SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Express SQL Server 2012 Standard SQL Server 2012 Web SQL Server 2012 Enterprise Core

Корпорация Майкрософт распространяет исправления 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, перечисленных в разделе «Относится к».