OPRAVA: Narušení přístupu při zachování RBS 4.0 rozhraní.NET Framework související konfiguračního souboru serveru SQL Server

DŮLEŽITÉ: Tento článek je přeložen pomocí softwaru na strojový překlad Microsoft. Nepřesný či chybný překlad lze opravit prostřednictvím technologie Community Translation Framework (CTF). Microsoft nabízí strojově přeložené, komunitou dodatečně upravované články, a články přeložené lidmi s cílem zajistit přístup ke všem článkům v naší znalostní bázi ve více jazycích. Strojově přeložené a dodatečně upravované články mohou obsahovat chyby ve slovníku, syntaxi a gramatice. Společnost Microsoft není odpovědná za jakékoliv nepřesnosti, chyby nebo škody způsobené nesprávným překladem obsahu nebo jeho použitím našimi zákazníky. Více o CTF naleznete na http://support.microsoft.com/gp/machine-translation-corrections/cs.

Projděte si také anglickou verzi článku: 2960310
Příznaky
Předpokládejme, že pro uložení objektů BLOB vzdáleně pro Microsoft SharePoint 2013 používáte vlastní zprostředkovatele vzdáleného úložiště objektů BLOB (RBS) a modul Runtime rozhraní.NET Framework 4.0. Při pokusu spustit vyčištění odpadků, která interně volá Microsoft.Data.SqlRemoteBlobs.Maintainer.exe, zobrazí se následující chybová zpráva během uvolňování paměti:
Spuštění funkce Maintainer úkoly.
Spuštění procesu uvolnění paměti.
Spuštění skenování odkaz.
Čas>: ERR: 0:::AssemblyLoad::: došlo k chybě při čtení xxxx přípony souboru. RemoteBlobStoreProvider.dll.
Čas>: ERR: 0:::AssemblyLoad::: System.BadImageFormatException: Toto sestavení je sestavena novější než aktuálně načtený modul runtime runtime a nelze načíst. (Výjimky z HRESULT: 0x8013101B)
Čas>: ERR: 0:::AssemblyLoad::: v System.Reflection.Assembly.nLoadFile (řetězec cesty, důkaz důkaz)
Čas>: ERR: 0:::AssemblyLoad::: v System.Reflection.Assembly.LoadFile (řetězec cesty)Čas>: ERR: 0:::AssemblyLoad::: na Microsoft.Data.SqlRemoteBlobs.ProviderClass.Initialize()

Funkce Maintainer nástroj je kompilována pomocí modulu runtime rozhraní.NET Framework 2.0 a načtení sestavení, které jsou založeny na 4.0 pro výčet objektů BLOB a uvolňování paměti v rozhraní.NET Framework. Pro všechny aplikace rozhraní.NET Framework můžete použít konfigurační soubor aplikace a přidat značku supportedRuntime použít novější verzi rozhraní.NET Framework. Funkce Maintainer součásti konfigurační soubor je Microsoft.Data.SqlRemoteBlobs.MaintainerConfig.xml, jako v následujícím příkladu:
<startup>            <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup>
Pokud se pokusíte spustit vyčištění odpadků, Microsoft.Data.SqlRemoteBlobs.Maintainer.exe narazí výjimku narušení přístupu takto:
System.AccessViolationException: Pokusu o čtení nebo zápis chráněné paměti. To je často údajem, že ostatní paměti je poškozen.
v System.Text.StringBuilder.AppendFormat (IFormatProvider zprostředkovatele, řetězec formátu, objektu args [])
v Microsoft.Data.SqlRemoteBlobs.InformationUtilities.InformationDetails()
v Microsoft.Data.BlobStores.LogProvider.CreateHeaderInformation()
v Microsoft.Data.BlobStores.LogProvider.Initialize (LogLevel logLevel)
v Microsoft.Data.BlobStores.DebugPrint.InitializeProviders()
v Microsoft.Data.BlobStores.DebugPrint.Initialize (Boolean initializeProviders)
v Microsoft.Data.BlobStores.DebugPrint.WriteLine (typ operace operace, úroveň LogLevel, Int32 blobStoreId, výjimky výjimka, řetězce zprávy, objekt [] arg)
na Microsoft.Data.SqlRemoteBlobs.Maintainer.Maintainer.MainInternal() na Microsoft.Data.SqlRemoteBlobs.Maintainer.Maintainer.Main (String [] args)
Příčina
První výjimka dochází, protože funkce Maintainer nástroj je kompilována pomocí rozhraní rozhraní.NET Framework 2.0. Nástroj nemůže načíst sestavení, které jsou založeny na 4.0 rozhraní.NET Framework. Při pokusu o inicializaci zprostředkovatele protokolování pro Microsoft.Data.SqlRemoteBlobs.Maintainer.exe, dojde k výjimce narušení přístupu.
Řešení
Oprava tohoto problému je k dispozici v stažení nejnovější funkce pack pro RBS.msi. Pokud použijete toto zástupné řešení, která je navržena, můžete odebrat nebo povolit protokolování související tagy a zachová značku supportRuntime .

Poznámka: Kód RBS můžete přeinstalovat pomocí nového RBS.msi Chcete-li použít tuto opravu bez použití aktualizace.
Jak potíže obejít
Chcete-li tento problém vyřešit, přidejte následující dodatečná konfigurace do konfiguračního souboru spolu se značkou supportedRuntime . Tyto značky zakázat funkce protokolování pro Funkce Maintainer nástroj, protože je právě vyvolána výjimka při inicializaci zprostředkovatele protokolování.
 <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>
Prohlášení
Společnost Microsoft potvrdila, že se jedná o problém v produktech společnosti Microsoft, které jsou uvedeny v části "Platí pro".

Upozornění: Tento článek je přeložený automaticky

خصائص

رقم الموضوع: 2960310 - آخر مراجعة: 11/10/2016 00:36:00 - المراجعة: 8.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 KbMtcs
تعليقات