KB3162396 — ИСПРАВЛЕНО. Общие источники данных и сохраненные учетные данные удаляются заданиями ежедневной очистки SharePoint в службах SSRS

Применяется к
SQL Server 2012 Service Pack 3 SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use)

Проблема

Предположим, что вы установили службы SQL Server Reporting Services в режиме SharePoint для SharePoint 2013. Если сервер отчетов недоступен для базы данных каталога SharePoint, а выполняется задание ежедневной очистки SharePoint, кэшированная копия отчетов и наборов данных может быть удалена из базы данных Reporting Services. Это приведет к потере сохраненных учетных данных.

В журналах ошибок Reporting Services могут появляться сообщения об ошибках, похожие на следующие:

Примечание

ОШИБКА: Throwing Microsoft.ReportingServices.Library.ReportServerDatabaseUnavailableException: , Microsoft.ReportingServices.Library.ReportServerDatabaseUnavailableException: серверу отчетов не удается открыть подключение к базе данных сервера отчетов. Подключение к базе данных необходимо для всех запросов и обработки. >--- System.Data.SqlClient.SqlException: при установке подключения к SQL Server произошла ошибка, связанная с сетью или экземпляром. Сервер не найден или недоступен. Убедитесь, что имя экземпляра указано правильно и что SQL Server настроен на разрешение удаленных подключений. (поставщик: TCP Provider, ошибка: 0 - Как правило, допускается только одно использование каждого адреса сокета (протокол/сетевой адрес/порт).) >--- System.ComponentModel.Win32Exception: как правило, допускается только одно использование каждого адреса сокета (протокол/сетевой адрес/порт)
   --- Конец внутренней трассировки стека исключений ---
   at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection)
   в System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, TaskCompletionSource'1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection)
   в System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource'1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection)
   в System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource'1 retry, DbConnectionOptions userOptions)
   в System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource'1 retry)
   в System.Data.SqlClient.SqlConnection.Open()
   в Microsoft.ReportingServices.Library.ConnectionManager.OpenConnection()
   --- Конец внутренней трассировки стека исключений ---;
ИНФОРМАЦИЯ: Не удалось создать SPSite для <URL-адреса>: System.ServiceModel.EndpointNotFoundException: нет конечной точки, прослушивающей URL-адрес<>, которая могла бы принять сообщение. Часто это вызвано неверным адресом или действием SOAP. Дополнительные сведения см. в разделе InnerException, если он есть. >--- System.Net.WebException: невозможно подключиться к удаленному серверу ---> System.Net.Sockets.SocketException: операция на сокете не может быть выполнена, поскольку в системе недостаточно места в буфере или очередь заполнена [::1]:32843
   at System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress)
   at System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Exception& exception)
   --- Конец внутренней трассировки стека исключений ---
   в System.Net.HttpWebRequest.GetRequestStream(TransportContext&context)
   в System.Net.HttpWebRequest.GetRequestStream()
   в System.ServiceModel.Channels.HttpOutput.WebRequestHttpOutput.GetOutputStream()
   --- Конец внутренней трассировки стека исключений ---
Трассировка стека сервера:
   в System.ServiceModel.Channels.HttpOutput.WebRequestHttpOutput.GetOutputStream()
   в System.ServiceModel.Channels.HttpOutput.Send(тайм-аут TimeSpan)
   в System.ServiceModel.Channels.HttpChannelFactory'1.HttpRequestChannel.HttpChannelRequest.SendRequest(Message message, TimeSpan timeout)
   в System.ServiceModel.Channels.RequestChannel.Request(сообщение сообщения, тайм-аут TimeSpan)
   at System.ServiceModel.Channels.ServiceChannel.Call(действие строки, логическое одностороннее выражение, операция ProxyOperationRuntime, входы Object[], выходы Object[], тайм-аут TimeSpan)
   в System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)
   в System.ServiceModel.Channels.ServiceChannelProxy.Invoke(сообщение IMessage)
Исключение, повторно созданное в [0]:
   в System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
   в System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData&msgData, тип Int32)
   в Microsoft.IdentityModel.Protocols.WSTrust.IWSTrustContract.Issue(сообщение сообщения)
   в Microsoft.IdentityModel.Protocols.WSTrust.WSTrustChannel.Issue(RequestSecurityToken rst, RequestSecurityTokenResponse& rstr)
   в Microsoft.IdentityModel.Protocols.WSTrust.WSTrustChannel.Issue(RequestSecurityToken rst)
   в свойствах Microsoft.SharePoint.SPSecurityContext.SecurityTokenForContext(Uri context, Boolean bearerToken, SecurityToken onBehalfOf, SecurityToken actAs, SecurityToken delegateTo, SPRequestSecurityTokenProperties)
   в Microsoft.SharePoint.SPSecurityContext.SecurityTokenForLegacyLoginContext (контекст URI)
   в Microsoft.SharePoint.SPSite.InitUserToken (запрос SPRequest)
   в Microsoft.SharePoint.SPSite.SPSiteConstructor(ферма SPFarm, GUID applicationId, GUID contentDatabaseId, GUID siteId, GUID siteSubscriptionId, SPUrlZone zone, URI requestUri, строка serverRelativeUrl, логическое значение hostHeaderIsSiteName, SPUserToken userToken, логическое значение appWebRequest, строка appHostHeaderRedirectDomain, строка appSiteDomainPrefix, строка subscriptionName, строка appSiteDomainId, URI primaryUri)
   в Microsoft.SharePoint.SPSite.. ctor(идентификатор GUID, ферма SPFarm, зона SPUrlZone, SPUserToken userToken)
   в Microsoft.ReportingServices.SharePoint.Objects.RSSharePointClassFactory.CreateSPSite(ИД GUID, зона RSSPUrlZone)
   в Microsoft.ReportingServices.SharePoint.Server.SharePointServiceHelper.GetSiteFromCatalogPath(String catalogPath, Int32 zone, Boolean noThrow)
w3wp!Library!123!<DateTime>:: w ПРЕДУПРЕЖДЕНИЕ: URL-адрес> элемента <каталога не найден на сайте SharePoint. Он будет удален из каталога.

Кроме того, в журналах ULS SharePoint отображается сообщение об ошибке примерно следующего содержания:

Примечание

<DateTime> w3wp.exe (0x2424) 0x12E4 Проверка подлинности утверждений SharePoint Foundation fsq7 High SPSecurityContext: сбой запроса маркера безопасности с исключением: System.ServiceModel.EndpointNotFoundException: нет конечной точки, прослушивающей URL-адрес<>, которая могла бы принять сообщение. Часто это вызвано неверным адресом или действием SOAP. Дополнительные сведения см. в разделе InnerException, если он есть. >--- System.Net.WebException: невозможно подключиться к удаленному серверу ---> System.Net.Sockets.SocketException: операция на сокете не может быть выполнена, поскольку в системе недостаточно места в буфере или очередь заполнена [::1]:32843

      

Решение

Эта проблема была впервые устранена в следующих накопительных обновлениях для SQL Server:

Сведения о накопительных обновлениях для SQL Server

Каждый новый накопительный пакет обновления для SQL Server содержит все исправления и исправления безопасности, которые входили в состав предыдущего накопительного пакета обновления. Ознакомьтесь с последними накопительными пакетами обновления для SQL Server:

      

Состояние

Корпорация Майкрософт подтвердила, что это проблема продуктов Microsoft, перечисленных в разделе «Относится к».

Ссылки

Узнайте о терминологии , используемой корпорацией Майкрософт для описания обновлений программного обеспечения.