KB2960310 — Poprawka: naruszenie zasad dostępu podczas utrzymywania struktury SPZ z programem .NET Framework 4,0 w powiązanym pliku konfiguracji w programie SQL Server

Symptomy

Załóżmy, że korzystasz z niestandardowego dostawcy zdalnego magazynu obiektów BLOB (SPZ) wraz z programem .NET Framework 4,0, aby zdalnie przechowywać obiekty blob na potrzeby programu Microsoft SharePoint 2013. Podczas próby uruchomienia oczyszczania elementów bezużytecznych, które wewnętrznie wywołuje program Microsoft. Data. SqlRemoteBlobs.. exe, podczas zbierania elementów bezużytecznych jest wyświetlany następujący komunikat o błędzie:

Rozpoczynanie zadań związanych z konserwacją. Uruchamianie kolekcji garbage. Rozpoczynanie skanowania odwołań. <> : błąd: 0::: AssemblyLoad::: Wystąpił błąd podczas czytania pliku rozszerzenia xxxx. RemoteBlobStoreProvider. dll . <> : błąd: 0::: AssemblyLoad::: System. BadImageFormatException: ten zestaw jest konstruowany przez środowisko uruchomieniowe nowsze niż obecnie załadowane środowisko uruchomieniowe i nie można go załadować. (Wyjątek od HRESULT: 0x8013101B) <> czas : err: 0::: AssemblyLoad::: w systemie System. odbicie. Assembly. nLoadFile (ścieżka ciągu, dowody dowodów ) <> : błąd: 0:0:: AssemblyLoad::: System. odbicie. Assembly. LoadFile (ścieżka ciągu) <godzina>: err: 0::: AssemblyLoad::: Microsoft. Data. SqlRemoteBlobs. ProviderClass. Initialize ()

Narzędzie do zarządzania jest kompilowane za pomocą środowiska .NET Framework 2,0 Runtime i nie może ładować zestawów opartych na programie .NET Framework 4,0 do wyliczania obiektów blob i garbage Collection. W przypadku każdej aplikacji platformy .NET Framework można użyć pliku konfiguracji aplikacji i dodać tag supportedRuntime , aby użyć nowszej wersji programu .NET Framework. Plik konfiguracyjny składnika do zarządzania to Microsoft. Data. SqlRemoteBlobs. MaintainerConfig. XML, jak w poniższym przykładzie:

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

Jeśli spróbujesz uruchomić aplikację do oczyszczania elementów bezużytecznych, program Microsoft. Data. SqlRemoteBlobs.. exe napotyka wyjątek naruszenia programu Access w następujący sposób:

System. AccessViolationException: próbowano odczytać lub zapisać chronioną pamięć. To często wskazuje, że inna pamięć jest uszkodzona. w programie System. Text. StringBuilder. AppendFormat (IFormatProvider Provider, format ciągu, Object [] args) w witrynie Microsoft. Data. SqlRemoteBlobs. InformationUtilities. InformationDetails () () w witrynie Microsoft. Data. BlobStores. LogProvider. CreateHeaderInformation () w witrynie Microsoft. Data. BlobStores. BlobStores. DebugPrint. Initialize (wartość logiczna initializeProviders) w witrynie Microsoft. Data. BlobStores. DebugPrint. WriteLine (operacjatype, poziom LogLevel, Int32 blobStoreId, wyjątek wyjątku, komunikat ciągu, obiekt [] ARG) w witrynie Microsoft. Data. SqlRemoteBlobs.... MainInternal..

Przyczyna

Pierwszy wyjątek występuje, ponieważ narzędzie do zarządzania jest kompilowane za pomocą programu .NET Framework 2,0. Narzędzie nie może ładować zestawów opartych na programie .NET Framework 4,0. Podczas próby zainicjowania dostawców rejestrowania dla programu Microsoft. Data. SqlRemoteBlobs.. exe występuje wyjątek dotyczący naruszenia zasad dostępu.

Rozwiązanie

Rozwiązanie tego problemu jest dostępne w najnowszym dodatku Feature Pack do pobrania dla SPZ. msi. Jeśli korzystasz z sugerowanego obejścia, możesz usunąć lub włączyć Tagi związane z rejestrowaniem oraz zachować znacznik supportRuntime .Uwaga Można ponownie zainstalować SPZ, korzystając z nowego SPZ. msi w celu zastosowania poprawki bez zastosowania aktualizacji.

Pobieranie pakietu funkcji dodatku Service Pack 1 (SP1) dla programu Microsoft SQL server 2014Pobierz pakiet Feature Pack 3 (SP3) dla programu microsoft SQL Server 2012

Obejście

Aby obejść ten problem, Dodaj następującą dodatkową konfigurację do pliku konfiguracji wraz ze znacznikiem supportedRuntime . Te znaczniki wyłączają możliwość rejestrowania w narzędziu do konserwacji, ponieważ wyjątek jest zgłaszany podczas inicjowania dostawców rejestrowania.

 <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>

Stan

Firma Microsoft potwierdziła, że jest to problem występujący w produktach firmy Microsoft wymienionych w sekcji "dotyczy".

Potrzebna dalsza pomoc?

Rozwijaj swoje umiejętności
Poznaj szkolenia
Uzyskuj nowe funkcje w pierwszej kolejności
Dołącz do niejawnych testerów firmy Microsoft

Czy te informacje były pomocne?

Jak zadowalająca jest jakość tłumaczenia?

Co wpłynęło na Twoje wrażenia?

Czy chcesz przekazać jakieś inne uwagi? (Opcjonalnie)

Dziękujemy za opinię!

×