Symptomen
Ga ervan uit dat u een aangepaste externe BLOBOPSLAG (RBS) gebruikt in combinatie met runtime .NET Framework 4,0 om blob's extern op te slaan voor Microsoft SharePoint 2013. Wanneer u de garbage CleanUp uitvoert die intern Microsoft. data. SqlRemoteBlobs. maintainer. exe uitvoert, wordt het volgende foutbericht weergegeven tijdens de garbagecollection-verzameling:
Taken voor Maintainers beginnen. Garbagecollection wordt gestart. Naslag scan wordt gestart. <tijd>: fout: 0:: AssemblyLoad:: er is een fout opgetreden bij het lezen van het uitbreidingsbestand xxxx. RemoteBlobStoreProvider. dll. <tijd>: fout: 0:: AssemblyLoad::: System. BadImageFormatException: deze assembly wordt gebouwd door een runtime die nieuwer is dan de geladen runtime en kan niet worden geladen. (Uitzondering van HRESULT: 0x8013101B) <tijd>: fout: 0:: AssemblyLoad :.... ..........> <> <..................................... initialize:. data. AssemblyLoad. SqlRemoteBlobs. initialize ()
Het hulpmiddel voor onderhouden wordt gecompileerd met behulp van de .NET Framework 2,0 runtime en kan geen assembly's laden die op basis van .NET Framework 4,0 voor de inventarisatie van blob's en garbagecollection. Voor een .NET Framework-toepassing kunt u het configuratiebestand van de toepassing gebruiken en de supportedRuntime -code toevoegen om de latere versie van het .NET Framework te gebruiken. Het configuratiebestand van het onderdeel maintainer is Microsoft. data. SqlRemoteBlobs. MaintainerConfig. XML, zoals in het volgende voorbeeld:
<startup> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup>
Als u de garbage CleanUp probeert uit te voeren, wordt Microsoft. data. SqlRemoteBlobs. maintainer. exe tegen een uitzondering van een toegangsovertreding veroorzaakt:
System. AccessViolationException: poging om beveiligd geheugen te lezen of te schrijven. Dit is vaak een aanwijzing dat het geheugen beschadigd is. bij System. Text. Builder. AppendFormat (IFormatProvider provider, tekenreeks opmaak, object [] args) op Microsoft. data. SqlRemoteBlobs. InformationUtilities. InformationDetails () bij Microsoft. data. BlobStores. LogProvider. CreateHeaderInformation () op Microsoft. data. BlobStores. LogProvider. initialize (LogLevel logLevel) op Microsoft. data. BlobStores. DebugPrint. InitializeProviders BlobStores. DebugPrint. initialize (Booleaanse initializeProviders) bij Microsoft. data. BlobStores. DebugPrint. WriteLine (OperationType Operation, LogLevel-niveau, Int32 blobStoreId, exception Exception, tekenreeksbericht, object [] ARG) bij Microsoft. data. SqlRemoteBlobs. maintainer. maintainer. MainInternal. maintainer
Oorzaak
De eerste uitzondering treedt op omdat het hulpmiddel voor onderhouden wordt gecompileerd met behulp van het .NET Framework 2,0. Het hulpprogramma kan geen assembly's laden die zijn gebaseerd op .NET Framework 4,0. De foutmelding over een toegangsfout treedt op wanneer u logboek providers voor Microsoft. data. SqlRemoteBlobs. maintainer. exe wilt initialiseren.
Oplossing
De oplossing voor dit probleem is beschikbaar in het nieuwste Feature Pack downloaden voor RBS. msi. Als u de voorgestelde tijdelijke oplossing hebt gebruikt, kunt u de tags voor logboekregistratie en de supportRuntime -code wel verwijderen of inschakelen.Opmerking U kunt RBS opnieuw installeren met behulp van de nieuwe structuur. msi-toepassing om de correctie toe te passen zonder de update toe te passen.
Download het Microsoft SQL server 2014 Service Pack 1 (SP1) Feature Pack Download het Microsoft SQL Server 2012 Service Pack 3 (SP3) Feature Pack
Workaround
Om dit probleem tijdelijk op te lossen, voegt u de volgende extra configuratie samen met de tag supportedRuntime toe aan het configuratiebestand. Met deze tags wordt de logboekfunctie voor het hulpprogramma voorbehoud van gebeurtenissen uitgeschakeld omdat de uitzondering wordt veroorzaakt tijdens de initialisatie van de logboek providers.
<startup> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/> </startup> <RemoteBlobStorage> <Logging> <add key="ConsoleLog" value="0" /> <add key="FileLog" value="0" /> <add key="CircularLog" value="0" /> <add key="EventViewerLog" value="0" /> <add key="DatabaseTableLog" value="0" /> </Logging> </RemoteBlobStorage>
Status
Microsoft heeft bevestigd dat dit probleem zich kan voordoen in de Microsoft-producten die worden vermeld in de sectie Van toepassing op.