Simptomi
Pretpostavimo da koristite prilagođeni udaljeni davatelj pohrane BLOB-a (RBS) s programom Runtime .NET Framework 4,0 za daljinsko pohranjivanje blobova za Microsoft SharePoint 2013. Kada pokušate pokrenuti čišćenje odlagališta koje interno poziva Microsoft. Data. SqlRemoteBlobs. Mainje. exe, prikazat će se sljedeća poruka o pogrešci tijekom zbirke odlagališta otpada:
Započinjanje zadataka održavatelj. Započinjanje zbirke smeća. Pokretanje reference skeniranja. <vrijeme>: err: 0::: montaža::: došlo je do pogreške prilikom čitanja ekstenzije datoteka xxxx. RemoteBlobStoreProvider. dll. <vrijeme>: err: 0::: montaža::: System. Badimageformatizuzetak: ovaj je sklop izgrađen u programu Runtime novija od trenutno učitanih funkcija Runtime i ne može se učitati. (Iznimka od HRESULT: 0x8013101B) <vrijeme>: err: 0::: montaža::: at System., Reflection. montaža. nLoadFile (niz puta, dokaz dokaza) <vrijeme>: err: 0::: montaža::: at System......... LoadFile (niz put) <vrijeme>: err: 0::: montaža::: at Microsoft. Data. Sqlremoteblobs. providerclass., ()
Alat za održavanje sastavlja se pomoću servisa .NET Framework 2,0 Runtime i ne može učitati sklopove koje se temelje na .NET Framework 4,0 za numeriranje blobova i zbirke smeća. Za bilo koju aplikaciju .NET Framework možete koristiti konfiguracijsku datoteku aplikacije, a zatim dodajte oznaku Supportedruntime da biste koristili noviju verziju sustava .NET Framework. Konfiguracijska datoteka održavatelja komponenta je Microsoft. Data. SqlRemoteBlobs. MaintainerConfig. XML, kao u sljedećem primjeru:
<startup> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup>
Ako pokušate pokrenuti čišćenje smeća, Microsoft. Data. SqlRemoteBlobs. Mainje. exe susreće se s iznimkom kršenja programa Access, na sljedeći način:
System. Accessvioationizuzetak: pokušaj čitanja ili pisanja zaštićene memorije. To je često pokazatelj da je druga memorija oštećena. u sustavu System. text. StringBuilder. AppendFormat (davatelj IFormatProvider, oblik niza, Object [] args) na servisu Microsoft. Data. SqlRemoteBlobs. InformationUtilities. Informatationdetails () at Microsoft. podaci. BlobStores. log provider. CreateHeaderInformation () u programu Microsoft. Data. BlobStores. log (LogLevel logLevel) na servisu Microsoft. Data. BlobStores. Debugispis. initialize, () u programu Microsoft. Data. BlobStores. DebugPrint. za inicijalizaciju (Booleove Initializete davatelja) u programu Microsoft. Data. BlobStores. DebugPrint. WriteLine (operacija operativnog sustava, LogLevel level, Int32 blobStoreId, iznimka izuzetak, niz poruka, Object [] Arg) na servisu Microsoft. Data. SqlRemoteBlobs. održavatelj. održavatelj. MainInternal () u programu Microsoft. Data. SqlRemoteBlobs. održavatelj. Main, Main (niz [] args)
Uzrok
Prvi se izuzetak pojavljuje jer je alat za održavatelj sastavljen pomoću komponente .NET Framework 2,0. Alat ne može učitati sklopove koji se temelje na sustavu .NET Framework 4,0. Iznimka kršenja programa Access pojavljuje se kada pokušate inicijalizirati davatelja usluga zapisivanja za Microsoft. Data. SqlRemoteBlobs. Main,. exe.
Rješenje
Popravak tog problema dostupan je u najnovijem preuzimanju paketa značajki za RBS. msi. Ako koristite zaobilazno rješenje, možete ukloniti ili omogućiti oznake vezane uz zapisivanje i zadržati željenu oznaku. Napomena RBS možete ponovno instalirati pomoću novog RBS. msi da biste primijenili popravak bez primjene ažuriranja.
Preuzimanje paketa značajki sustava Microsoft SQL server 2014 Service Pack 1 (SP1) Preuzimanje paketa značajki za microsoft SQL Server 2012 Service Pack 3 (SP3)
Zaobilazno rješenje
Da biste zaobišli taj problem, dodajte sljedeću dodatnu konfiguraciju u konfiguracijsku datoteku zajedno s oznakom Supportedruntime . Ove oznake onemogućuju mogućnost zapisivanja za alat za održavatelj jer se iznimka baca tijekom inicijalizacije davatelja usluga zapisivanja.
<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 je potvrdio da se radi o problemu u Microsoftovim proizvodima navedenim u odjeljku "odnosi se na".