KB3162396: CORRECCIÓN: Los trabajos de limpieza diaria de SharePoint en SSRS quitan los orígenes de datos compartidos y las credenciales almacenadas

Se aplica a
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)

Síntomas

Suponga que instala SQL Server Reporting Services en el modo de SharePoint para SharePoint 2013. Si el servidor de informes no puede obtener acceso a la base de datos del catálogo de SharePoint y se ejecuta el trabajo de limpieza diario de SharePoint, es posible que la copia almacenada en caché de informes y conjuntos de datos se quite de la base de datos de Reporting Services. Esto provocará la pérdida de credenciales almacenadas.

En los registros de Reporting Services errores, es posible que reciba mensajes de error similares a los siguientes:

Nota

ERROR: Al iniciar Microsoft.ReportingServices.Library.ReportServerDatabaseUnavailableException: , Microsoft.ReportingServices.Library.ReportServerDatabaseUnavailableException: El servidor de informes no puede abrir una conexión a la base de datos del servidor de informes. Se requiere una conexión a la base de datos para todas las solicitudes y el procesamiento. >--- System.Data.SqlClient.SqlException: Se produjo un error específico o relacionado con la red o instancia al establecer una conexión a SQL Server. No se encontró el servidor o no se pudo acceder a él. Compruebe que el nombre de la instancia es correcto y que SQL Server está configurado para permitir conexiones remotas. (proveedor: Proveedor de TCP, error: 0 - Solo se permite un uso de cada dirección de socket (protocolo/dirección de red/puerto). >--- System.ComponentModel.Win32Exception: Solo se permite un uso de cada dirección de socket (protocolo/dirección de red/puerto)
   --- Fin del seguimiento de la pila de excepción interna ---
   at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& conexión)
   at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, TaskCompletionSource'1 retry, DbConnectionOptions userOptions, DbConnectionInternal& conexión)
   at System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource'1 retry, DbConnectionOptions userOptions, DbConnectionInternal& conexión)
   at System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource'1 retry, DbConnectionOptions userOptions)
   at System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource'1 retry)
   at System.Data.SqlClient.SqlConnection.Open()
   at Microsoft.ReportingServices.Library.ConnectionManager.OpenConnection()
   --- --- de seguimiento de pila de fin de excepción interna;
INFO: Error al crear SPSite para la <dirección URL>: System.ServiceModel.EndpointNotFoundException: No había ningún punto de conexión escuchando en la <dirección URL> que pudiera aceptar el mensaje. Esto suele deberse a una dirección incorrecta o a una acción SOAP. Vea InnerException, si está presente, para obtener más detalles. >--- System.Net.WebException: No se puede conectar al servidor remoto ---> System.Net.Sockets.SocketException: No se pudo realizar una operación en un socket porque el sistema carecía de espacio de búfer suficiente o porque una cola estaba llena [::1]:32843
   at System.Net.Sockets.Socket.DoConnect(EndPointSnapshot, SocketAddress socketAddress)
   at System.Net.ServicePoint.ConnectHttpInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, DIRECCIÓN IPAddress& address, ConnectState state, IAsyncResult asyncResult, Exception& exception)
   --- Fin del seguimiento de la pila de excepción interna ---
   at System.Net.HttpWebRequest.GetRequestStream(TransportContext&contexto)
   at System.Net.HttpWebRequest.GetRequestStream()
   at System.ServiceModel.Channels.HttpOutput.WebRequestHttpOutput.GetOutputStream()
   --- Fin del seguimiento de la pila de excepción interna ---
Seguimiento de pila de servidores:
   at System.ServiceModel.Channels.HttpOutput.WebRequestHttpOutput.GetOutputStream()
   at System.ServiceModel.Channels.HttpOutput.Send(TimeSpan timeout)
   at System.ServiceModel.Channels.HttpChannelFactory'1.HttpRequestChannel.HttpChannelRequest.SendRequest(Message message, TimeSpan timeout)
   at System.ServiceModel.Channels.RequestChannel.Request(Message message, TimeSpan timeout)
   at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)
   at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)
   at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)
Excepción reaparece a las [0]:
   at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
   at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData&msgData, Tipo Int32)
   at Microsoft.IdentityModel.Protocols.WSTrust.IWSTrustContract.Issue(Message message)
   at Microsoft.IdentityModel.Protocols.WSTrust.WSTrustChannel.Issue(RequestSecurityToken rst, RequestSecurityToken Dns& rstr)
   at Microsoft.IdentityModel.Protocols.WSTrust.WSTrustChannel.Issue(RequestSecurityToken rst)
   at Microsoft.SharePoint.SPSecurityContext.SecurityTokenForContext(Contexto de Uri, BearerToken booleano, SecurityToken onBehalfOf, SecurityToken actAs, SecurityToken delegateTo, SPRequestSecurityTokenProperties propiedades)
   at Microsoft.SharePoint.SPSecurityContext.SecurityTokenForLegacyLoginContext(Uri context)
   at Microsoft.SharePoint.SPSite.InitUserToken(solicitud SPRequest)
   at Microsoft.SharePoint.SPSite.SPSiteConstructor(SPFarm farm, Guid applicationId, Guid contentDatabaseId, Guid siteId, Guid siteSubscriptionId, SPUrlZone zone, Uri requestUri, String serverRelativeUrl, Boolean hostHeaderIsSiteName, SPUserToken userToken, Boolean appWebRequest, String appHostHeaderRedirectDomain, String appSiteDomainPrefix, String subscriptionName, String appSiteDomainId, Uri primaryUri)
   en Microsoft.SharePoint.SPSite. ctor(Guid id, granja de SPFarm, zona SPUrlZone, SPUserToken userToken)
   at Microsoft.ReportingServices.SharePoint.Objects.RSSharePointClassFactory.CreateSPSite(Guid id, RSSPUrlZone zone)
   at Microsoft.ReportingServices.SharePoint.Server.SharePointServiceHelper.GetSiteFromCatalogPath(String catalogPath, Int32 zone, Boolean noThrow)
w3wp!library!123!<DateTime>:: w WARN: No se encontró la dirección URL> del elemento <del catálogo en el sitio de SharePoint. Se eliminará del Catálogo.

Además, en los registros ULS de SharePoint, recibe un mensaje de error similar al siguiente:

Nota

<DateTime> w3wp.exe (0x2424) 0x12E4 SharePoint Foundation Claims Authentication fsq7 High SPSecurityContext: Error en la solicitud del token de seguridad con excepción: System.ServiceModel.EndpointNotFoundException: No había ningún punto de conexión escuchando en la <dirección URL> que pudiera aceptar el mensaje. Esto suele deberse a una dirección incorrecta o a una acción SOAP. Vea InnerException, si está presente, para obtener más detalles. >--- System.Net.WebException: No se puede conectar al servidor remoto ---> System.Net.Sockets.SocketException: No se pudo realizar una operación en un socket porque el sistema carecía de espacio de búfer suficiente o porque una cola estaba llena [::1]:32843

      

Resolución

Este problema se corrigió por primera vez en las siguientes actualizaciones acumulativas para SQL Server:

Acerca de las actualizaciones acumulativas para SQL Server

Cada nueva actualización acumulativa de SQL Server contiene todas las revisiones y todas las correcciones de seguridad que se incluyeron con la actualización acumulativa anterior. Echa un vistazo a las últimas actualizaciones acumulativas de SQL Server:

      

Estado

Microsoft ha confirmado que se trata de un problema de los productos de Microsoft que se enumeran en la sección "Aplicable a".

Referencias

Obtén información sobre la terminología que Microsoft usa para describir las actualizaciones de software.