KB2960310 – FIX: prieigos pažeidimas kai palaikote RBS su ".NET Framework 4,0" susijusioje konfigūracijos faile "SQL Server"

Simptomai

Tarkime, kad naudojate pasirinktinio nuotolinio BLOB saugyklos (RBS) teikėją kartu su "Runtime .NET Framework 4,0", kad saugotumėte blobs nuotoliniu būdu "Microsoft SharePoint 2013". Kai bandote paleisti šiukšlių valymą, kuris viduje iškviečia "Microsoft. data. SqlRemoteBlobs. Maintainer. exe", naudodami šiukšlių surinkimą gaunate šį klaidos pranešimą:

Paleidžiamos palaikytojo užduotys. Pradedamas šiukšlių rinkimas. Pradinis nuorodos nuskaitymas. <laiko>: ERR: 0::: AssemblyLoad::: įvyko klaida skaitant plėtinio failą XXXX. Remoteblobstorseprovider. dll. <laiko>: ERR: 0::: AssemblyLoad::: System. Badimaguformatexception: Šis rinkinys yra sukurtas pagal vykdyklės naujesnę versiją nei dabar įkelta vykdyklė ir jo negalima įkelti. (Išimtis iš HRESULT: 0x8013101B) <laikas>: ERR: 0::: AssemblyLoad::: į System. Reflection. Assembly. nLoadFile (eilutės kelias, įrodymas) <laiko>: ERR: 0::: AssemblyLoad::: į System. Reflection. Assembly. LoadFile (eilutės kelias) <laiko>: ERR: 0::: AssemblyLoad::: ne Microsoft. data. SqlRemoteBlobs. ProviderClass. Initialize ()

"Maintainer" įrankis sukompiliuojamas naudojant ".NET Framework 2,0 Runtime", o jo negalima įkelti rinkinių, pagrįstų ".NET Framework" 4,0, kai naudojamas BLOB ir šiukšlių rinkimas. Jei naudojate ".NET Framework" taikomąją programą, galite naudoti taikomosios programos konfigūracijos failą ir pridėti žymę, kad galėtumėte naudoti naujesnę ".NET Framework" versiją. Komponento palaikytojo konfigūracijos failas yra Microsoft. data. SqlRemoteBlobs. MaintainerConfig. XML, kaip šiame pavyzdyje:

<startup>            <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup>

Jei bandote paleisti šiukšlių valymą, "Microsoft. data. SqlRemoteBlobs. Maintainer. exe" aptinka prieigos pažeidimo išimtį, kaip nurodyta toliau:

System. AccessViolationException: bandė skaityti arba rašyti apsaugotą atmintį. Tai dažnai rodo, kad sugadinta kita atmintis. į System. Text. StringBuilder. AppendFormat (IFormatProvider teikėjas, eilutės formatas, objekto [args) "Microsoft". data. SqlRemoteBlobs. InformationUtilities. InformationDetails () "Microsoft. data. BlobStores. LogProvider. CreateHeaderInformation ()" Microsoft. data. BlobStores. LogProvider. Initialize (LogLevel logLevel) "Microsoft. data. BlobStores. DebugPrint. InitializeProviders ()" Microsoft ". data. BlobStores. DebugPrint. Initialize (Boolean initializeProviders)" Microsoft ". data. BlobStores. DebugPrint. WriteLine (OperationType operacija, LogLevel lygis, Int32 blobStoreId, išimtis išimtis, eilutės pranešimas, objektas [] ARG)" Microsoft. data. SqlRemoteBlobs. Maintainer. Maintainer. MainInternal () "Microsoft. data. SqlRemoteBlobs. Maintainer. Maintainer. Main (eilutė [] args)

Priežastis

Pirmoji išimtis kyla dėl to, kad prižiūrėtojo įrankis kompiliuojamas naudojant ".NET Framework 2,0". Įrankis negali įkelti rinkinių, pagrįstų ".NET Framework 4,0". "Access" išimčių išimtis atsiranda, kai bandote inicijuoti registravimo teikėjus, skirtus "Microsoft". data. SqlRemoteBlobs. Maintainer. exe.

Sprendimas

Šios problemos sprendimas galimas naujausioje funkcijų paketo dalyje RBS. msi atsisiuntimas. Jei naudojate siūlomą sprendimo būdą, galite pašalinti arba įgalinti su registrave susijusias žymes ir palaikymo žymės žymę. Pastaba Galite iš naujo įdiegti RBS naudodami naują RBS. msi, kad taikytumėte pataisą netaikydami naujinimo.

"Microsoft SQL Server" 2014 1 pakeitimų paketo (SP1) funkcijų paketoatsisiuntimas"microsoft SQL Server 2012" 3 pakeitimų paketo (SP3) funkcijų paketas

Sprendimas

Norėdami išspręsti šią problemą, įtraukite šią papildomą konfigūraciją į konfigūracijos failą kartu naudodami žymę Paramtedruntime . Šios žymės išjungia "Maintainer" įrankio registravimo galimybę, nes, inicijuojant registravimo paslaugų teikėjus, išimtis yra išmetama.

 <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" patvirtino, kad tai yra "Microsoft" produktų, išvardytų skyriuje "taikoma", problema.

Reikia daugiau pagalbos?

Tobulinkite savo įgūdžius
Ieškoti mokymo
Pirmiausia gaukite naujų funkcijų
Prisijungti prie "Microsoft Insider"

Ar ši informacija buvo naudinga?

Dėkojame už jūsų atsiliepimus!

Dėkojame už jūsų atsiliepimą! Panašu, kad gali būti naudinga jus sujungti su vienu iš mūsų „Office“ palaikymo agentų.

×