Это исправление также относится к службам Microsoft SQL Server 2012 Reporting Services.
Проблема
Рассмотрим следующий сценарий.
- Вы запускаете экземпляр службы отчетов Microsoft SQL Server 2008 R2 (SSRS 2008 R2) или службы отчетов SQL Server 2012 (SSRS 2012) в интегрированном режиме Microsoft SharePoint.
- У вас есть отчет или подписка, созданные пользователем, у которого больше нет разрешений на семейство веб-сайтов SharePoint.
- Пользователь с соответствующими разрешениями в семействе веб-сайтов SharePoint пытается открыть отчет или подписку.
В этом случае пользователь не сможет открыть отчет или подписку. Кроме того, пользователь получает следующее сообщение об ошибке:
Примечание
На сервере отчетов произошла ошибка SharePoint. (rsSharePointError)
Object reference not set to an instance of an object.
Кроме того, в файле журнала сервера отчетов регистрируется следующее исключение:
Примечание
Microsoft.ReportingServices.Diagnostics.Utilities.SharePointException: на сервере отчетов произошла ошибка SharePoint.
>--- System.NullReferenceException: ссылка на объект не установлена для экземпляра объекта.
at Microsoft.ReportingServices.SharePoint.Objects.RSSPImpUser.get_LoginName()
в Microsoft.ReportingServices.SharePoint.Utilities.CatalogItemUtilities.GetListItemUserLoginName(элемент RSSPListItem, строка fieldName)
в папке Microsoft.ReportingServices.SharePoint.Utilities.CatalogItemUtilities.CreateCatalogItem(папка RSSPFolder)
в Microsoft.ReportingServices.SharePoint.Server.SharePointDBInterface.GetParentsForFolderOrFileRecursive(RSSPWeb web, RSSPFolder folder, RSSPDocumentLibrary docLib, Security secMgr, CatalogItemList parents)
в Microsoft.ReportingServices.SharePoint.Server.SharePointDBInterface.GetParentsForFolderOrFileRecursive(RSSPWeb web, RSSPFolder folder, RSSPDocumentLibrary docLib, Security secMgr, CatalogItemList parents)
в Microsoft.ReportingServices.SharePoint.Server.SharePointDBInterface.FindParents(ExternalItemPath, objectName, CatalogItemList& parents, Security secMgr, IPathTranslator pathTranslator)
Решение
Эта проблема была впервые исправлена в следующем накопительном пакете обновления SQL Server.
Накопительный пакет обновления 8 для SQL Server 2012 с пакетом обновления 1 (SP1) /en-us/help/2917531
Накопительный пакет обновления 11 для SQL Server 2012 г. /ru-us/help/2908007
Накопительный пакет обновления 9 для SQL Server 2008 R2 SP2 /en-us/help/2887606
Сведения о накопительных обновлениях для SQL Server
Каждый новый накопительный пакет обновления для SQL Server содержит все исправления и исправления безопасности, которые входили в состав предыдущего накопительного пакета обновления. Ознакомьтесь с последними накопительными пакетами обновления для SQL Server:
- Последний накопительный пакет обновления для SQL Server 2012 с пакетом обновления 1 (SP1)
- Последний накопительный пакет обновления для SQL Server 2012
- Последний накопительный пакет обновления для SQL Server 2008 R2 с пакетом обновления 2 (SP2)
Состояние
Корпорация Майкрософт подтвердила, что это проблема продуктов Microsoft, перечисленных в разделе «Относится к».