Du er frakoblet, venter på at Internett skal koble til igjen

Korriger: Brudd på tilgangstillatelse når du vedlikeholder RBS med .NET Framework 4.0 i relaterte konfigurasjonsfilen i SQL Server

VIKTIG: Denne artikkelen ble oversatt med maskinoversettelsesprogramvare fra Microsoft og muligens redigert av Microsoft Community via CTF-teknologi i stedet for av en oversetter. Microsoft tilbyr både menneskelig oversatte og maskinoversatte/Community-redigerte artikler, slik at du får tilgang til alle artiklene i vår Knowledge Base på ditt eget språk. En maskinoversatt eller Community-redigert artikkel er imidlertid ikke alltid perfekt. Den kan inneholde feil i vokabular, syntaks eller grammatikk, mye likt en fremmedspråklig som forsøker å snakke språket ditt. Microsoft har ikke ansvar for unøyaktige opplysninger, feil eller skade forårsaket av feilaktig oversettelse av innholdet eller kundenes bruk av informasjonen. Microsoft oppdaterer jevnlig maskinoversettelsesprogramvaren og -verktøyene for å forbedre redigering av maskinoversatte tekster.

Den engelske versjonen av denne artikkelen er den følgende: 2960310
Symptom
Anta at du bruker en egendefinert RBS-leverandøren med Runtime .NET Framework 4.0 til å lagre BLOBer eksternt for SharePoint 2013. Når du prøver å kjøre garbage oppryddingen som kaller internt Microsoft.Data.SqlRemoteBlobs.Maintainer.exe, får du følgende unntak under søppel samling:
Starter vedlikeholder oppgaver.
Starter datasanering.
Starter skanning for referanse.
Tid>: Feil: 0:::AssemblyLoad::: Det oppstod en feil under lesing av filtypen filen xxxx. RemoteBlobStoreProvider.dll.
Tid>: Feil: 0:::AssemblyLoad::: System.BadImageFormatException: denne samlingen er bygget av en kjøretidsfil som er nyere enn den gjeldende innlastede runtime og kan ikke lastes inn. (Unntak fra HRESULT: 0x8013101B)
Tid>: Feil: 0:::AssemblyLoad::: ved System.Reflection.Assembly.nLoadFile (String banen, bevis bevis)
Tid>: Feil: 0:::AssemblyLoad::: ved System.Reflection.Assembly.LoadFile (String bane)Tid>: Feil: 0:::AssemblyLoad::: på Microsoft.Data.SqlRemoteBlobs.ProviderClass.Initialize()

Vedlikeholdsprogrammet verktøyet er kompilert med Runtime .NET Framework 2.0, og kan ikke laste samlinger basert ut av .NET Framework 4.0 for opplisting av BLOBer og datasanering. Du kan bruke en konfigurasjonsfil for alle .NET Framework-program og legge supportedRuntime-kode hvis du vil bruke en senere versjon av .NET Framework. Konfigurasjonsfilen for vedlikeholdsprogrammet komponenten er Microsoft.Data.SqlRemoteBlobs.MaintainerConfig.xml, her er et eksempel:
<startup>            <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup>
Nå hvis du prøver å kjøre opprydding av søppel, Microsoft.Data.SqlRemoteBlobs.Maintainer.exe oppstår et brudd på unntak for tilgang, er unntaksstakken følgende:
System.AccessViolationException: Forsøkte å lese eller skrive til beskyttet minne. Dette er ofte en indikasjon på at annet minne er skadet.
på System.Text.StringBuilder.AppendFormat (IFormatProvider, leverandør, strengformat, Object [] args)
ved Microsoft.Data.SqlRemoteBlobs.InformationUtilities.InformationDetails()
ved Microsoft.Data.BlobStores.LogProvider.CreateHeaderInformation()
på Microsoft.Data.BlobStores.LogProvider.Initialize (LogLevel logLevel)
ved Microsoft.Data.BlobStores.DebugPrint.InitializeProviders()
på Microsoft.Data.BlobStores.DebugPrint.Initialize (boolsk initializeProviders)
på Microsoft.Data.BlobStores.DebugPrint.WriteLine (OperasjonSkriv inn operasjonen, LogLevel-nivå, Int32 blobStoreId, unntak unntak, Strengemelding, Object [] arg)
på Microsoft.Data.SqlRemoteBlobs.Maintainer.Maintainer.MainInternal() ved Microsoft.Data.SqlRemoteBlobs.Maintainer.Maintainer.Main (String [] args)
Årsak
Første unntak oppstår fordi verktøyet vedlikeholder er kompilert med .NET Framework 2.0, og kan ikke laste samlinger basert ut av .NET Framework 4.0. Access brudd på unntak oppstår når du prøver å starte logging-leverandører for Microsoft.Data.SqlRemoteBlobs.Maintainer.exe.
Løsning
Problemet ble først løst i den følgende kumulative oppdateringen av SQL Server.
Når du har installert hurtigreparasjonen, bør access brudd på unntak problemet løses. Hvis du har brukt den foreslåtte løsningen, kan du gjøre klar og Fjern/aktivere Logging relatert koder og holder den supportRuntime koden.

Obs! Du kan installere RBS ved hjelp av den nye RBS.msi til å bruke reparasjonen uten å bruke oppdateringen.

Samleoppdatering 1 for SQL Server 2012 SP2

Samleoppdatering 2 for SQLServer-2014

Kumulativ oppdatering 10 for SQL Server 2012 SP1

Om kumulative oppdateringer for SQL Server

Hver nye kumulative oppdateringen for SQL Server inneholder alle hurtigreparasjonene og alle sikkerhetsreparasjoner som fulgte med den forrige kumulative oppdateringen. Sjekk ut de nyeste kumulative oppdateringene for SQL Server:
Workaround
Hvis du vil omgå dette problemet kan du legge til følgende ekstra konfigurasjon konfigurasjonsfil sammen med supportedRuntime-kode. Disse kodene deaktiverer loggingsfunksjonen for vedlikeholdsprogrammet programmet som det blir unntak under initialisering av logging-leverandører.
 <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 har bekreftet at dette er et problem i Microsoft-produktene som er oppført i delen "Gjelder for".

Advarsel: Denne artikkelen er autooversatt

Egenskaper

Artikkel-ID: 2960310 – Forrige gjennomgang: 03/14/2016 08:27:00 – Revisjon: 4.0

Microsoft SQL Server 2012 Service Pack 1, Microsoft SQL Server 2014 Developer, Microsoft SQL Server 2014 Enterprise, Microsoft SQL Server 2014 Standard, Microsoft SQL Server 2012 Service Pack 2

  • kbqfe kbfix kbsurveynew kbexpertiseadvanced kbmt KB2960310 KbMtno
Tilbakemelding