Symptomen
Stel dat u SQL Server Reporting Services installeert in de SharePoint-modus voor SharePoint 2013. Als de SharePoint-catalogusdatabase niet bereikbaar is voor Report Server en de dagelijkse opschoontaak van SharePoint wordt uitgevoerd, wordt de kopie van rapporten en gegevenssets in de cache mogelijk uit de Reporting Services-database verwijderd. Hierdoor gaan opgeslagen referenties verloren.
In de foutenlogboeken van Reporting Services worden foutberichten van de volgende strekking ontvangen:
Opmerking
FOUT: Microsoft.ReportingServices.Library.ReportServerDatabaseUnavailableException: , Microsoft.ReportingServices.Library.ReportServerDatabaseUnavailableException: De rapportserver kan geen verbinding met de rapportserverdatabase openen. Er is een verbinding met de database vereist voor alle aanvragen en verwerking.
>--- System.Data.SqlClient.SqlException: er is een netwerk- of instantiespecifieke fout opgetreden tijdens het tot stand brengen van een verbinding met SQL Server. De server is niet gevonden of was niet toegankelijk. Controleer of de naam van het exemplaar juist is en of SQL Server is geconfigureerd om externe verbindingen toe te staan. (provider: TCP-provider, fout: 0 - Normaal gesproken is slechts één gebruik van elk socketadres (protocol/netwerkadres/poort) toegestaan.)
>--- System.ComponentModel.Win32Exception: Normaal gesproken is slechts één gebruik van elk socketadres (protocol/netwerkadres/poort) toegestaan
--- Einde van binnenste uitzondering stapeltracering ---
at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection)
at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, TaskCompletionSource'1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection)
at System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource'1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection)
at System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource'1 retry, DbConnectionOptions userOptions)
at System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource'1 retry)
op System.Data.SqlClient.SqlConnection.Open()
bij Microsoft.ReportingServices.Library.ConnectionManager.OpenConnection()
--- Einde van binnenste uitzonderingsstacktracering ---;
INFO: Kan SPSite niet maken voor <url>: System.ServiceModel.EndpointNotFoundException: Er luisterde geen eindpunt naar <de url> die het bericht kon accepteren. Dit wordt vaak veroorzaakt door een onjuist adres of een onjuiste actie van SOAP. Zie InnerException, indien aanwezig, voor meer informatie.
>--- System.Net.WebException: Kan geen verbinding maken met de externe server ---> System.Net.Sockets.SocketException: Een bewerking op een socket kan niet worden uitgevoerd omdat het systeem onvoldoende bufferruimte heeft of omdat een wachtrij vol is [::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, uitzondering& uitzondering)
--- Einde van binnenste uitzondering stapeltracering ---
at System.Net.HttpWebRequest.GetRequestStream(TransportContext&context)
op System.Net.HttpWebRequest.GetRequestStream()
at System.ServiceModel.Channels.HttpOutput.WebRequestHttpOutput.GetOutputStream()
--- Einde van binnenste uitzondering stapeltracering ---
Server stack trace:
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)
Uitzondering opnieuw gegooid op [0]:
at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData&msgData, type Int32)
at Microsoft.IdentityModel.Protocols.WSTrust.IWSTrustContract.Issue(Message message)
at Microsoft.IdentityModel.Protocols.WSTrust.WSTrustChannel.Issue(RequestSecurityToken rst, RequestSecurityTokenResponse& rstr)
bij Microsoft.IdentityModel.Protocols.WSTrust.WSTrustChannel.Issue(RequestSecurityToken rst)
at Microsoft.SharePoint.SPSecurityContext.SecurityTokenForContext(Uri context, Boolean bearerToken, SecurityToken onBehalfOf, SecurityToken actAs, SecurityToken delegateTo, SPRequestSecurityTokenProperties properties)
bij Microsoft.SharePoint.SPSecurityContext.SecurityTokenForLegacyLoginContext(Uri-context)
at Microsoft.SharePoint.SPSite.InitUserToken(SPRequest-aanvraag)
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)
bij Microsoft.SharePoint.SPSite.. ctor(guid-id, SPFarm-farm, SPUrlzone-zone, SPUserToken userToken)
at Microsoft.ReportingServices.SharePoint.Objects.RSSharePointClassFactory.CreateSPSite(Guid id, RSSPUrlZone zone)
bij Microsoft.ReportingServices.SharePoint.Server.SharePointServiceHelper.GetSiteFromCatalogPath(String catalogPath, Int32 zone, Boolean noThrow)
w3wp!bibliotheek!123!<DateTime>:: w WARN: De URL> van het catalogusitem <is niet gevonden op de SharePoint-site. Het wordt uit de catalogus verwijderd.
Bovendien wordt in de SharePoint ULS-logboeken een foutbericht van de volgende strekking weergegeven:
Opmerking
<DateTime> w3wp.exe (0x2424) 0x12E4 SharePoint Foundation claimt verificatie fsq7 High SPSecurityContext: Verzoek om beveiligingstoken is mislukt met uitzondering: System.ServiceModel.EndpointNotFoundException: er was geen eindpunt dat luisterde naar <de url> die het bericht kon accepteren. Dit wordt vaak veroorzaakt door een onjuist adres of een onjuiste actie van SOAP. Zie InnerException, indien aanwezig, voor meer informatie. >--- System.Net.WebException: Kan geen verbinding maken met de externe server ---> System.Net.Sockets.SocketException: Een bewerking op een socket kan niet worden uitgevoerd omdat het systeem onvoldoende bufferruimte heeft of omdat een wachtrij vol is [::1]:32843
Oplossing
Dit probleem is voor het eerst opgelost in de volgende cumulatieve updates voor SQL Server:
- Cumulatieve update 1 voor SQL Server 2014 SP2
- Cumulatieve update 8 voor SQL Server 2014 SP1
- Cumulatieve update 2 voor SQL Server 2016
- Cumulatieve update 14 voor SQL Server 2014
- Cumulatieve update 4 voor SQL Server 2012 SP3
Informatie over cumulatieve updates voor SQL Server
Elke nieuwe cumulatieve update voor SQL Server bevat alle hotfixes en alle beveiligingspatches die deel uitmaakten van de vorige cumulatieve update. Bekijk de meest recente cumulatieve updates voor SQL Server:
- Meest recente cumulatieve update voor SQL Server 2016
- Meest recente cumulatieve update voor SQL Server 2014 (SP1/SP2)
- Meest recente cumulatieve update voor SQL Server 2012 SP3
Status
Microsoft heeft bevestigd dat dit een probleem is bij de Microsoft-producten die worden vermeld in de sectie Van toepassing op.
Meer informatie
Meer informatie over de terminologie die Microsoft gebruikt om software-updates te beschrijven.