Jesteś obecnie w trybie offline. Czekamy na ponowne połączenie z Internetem.

POPRAWKA: Naruszenie zasad dostępu, gdy obsługa SPZ z programu.NET Framework 4.0 w pliku konfiguracji w programie SQL Server

WAŻNE: Ten artykuł został przetłumaczony przy użyciu oprogramowania firmy Microsoft do tłumaczenia maszynowego i może być poprawiony przy użyciu technologii Community Translation Framework (CTF). Firma Microsoft udostępnia artykuły tłumaczone maszynowo, poprawione przez społeczność, a także tłumaczone przez tłumaczy profesjonalnych, aby zapewnić dostęp do wszystkich artykułów w bazie wiedzy w wielu językach. Artykuły tłumaczone maszynowo i poprawione mogą zawierać błędy pisowni, składniowe i gramatyczne. Firma Microsoft nie ponosi odpowiedzialności za żadne nieścisłości, błędy ani szkody spowodowane przez niepoprawne tłumaczenia zawartości ani przez korzystanie z niej przez klientów. Więcej o strukturze CTF: http://support.microsoft.com/gp/machine-translation-corrections/pl.

Anglojęzyczna wersja tego artykułu to: 2960310
Symptomy
Założono, że używasz niestandardowego dostawcy zdalnego magazynu obiektów BLOB (SPZ) wraz z Runtime.NET Framework 4.0 do przechowywania obiektów blob zdalnie programu Microsoft SharePoint 2013. Podczas próby uruchomienia oczyszczania śmieci wewnętrznie wywołuje Microsoft.Data.SqlRemoteBlobs.Maintainer.exe, pojawi się następujący komunikat o błędzie podczas wyrzucania elementów bezużytecznych:
Uruchamianie zadań opiekuna.
Uruchamianie wyrzucania elementów bezużytecznych.
Uruchamianie skanowania odniesienia.
Godzina>: BŁĄD: 0:::AssemblyLoad::: Wystąpił błąd podczas odczytywania rozszerzenie pliku xxxx. RemoteBlobStoreProvider.dll.
Godzina>: BŁĄD: 0:::AssemblyLoad::: System.BadImageFormatException: ten zestaw jest konstruowany przez moduł wykonawczy nowszy niż aktualnie załadowany i nie można go załadować. (Wyjątek od HRESULT: 0x8013101B)
Godzina>: BŁĄD: 0:::AssemblyLoad::: w System.Reflection.Assembly.nLoadFile (ciąg ścieżki, dowód dowód)
Godzina>: BŁĄD: 0:::AssemblyLoad::: w System.Reflection.Assembly.LoadFile (ciąg ścieżki)Godzina>: BŁĄD: 0:::AssemblyLoad::: w Microsoft.Data.SqlRemoteBlobs.ProviderClass.Initialize()

Narzędzie utrzymujący jest kompilowana przy użyciu środowiska wykonawczego.NET Framework 2.0, a nie może załadować zestawów, które są oparte na.NET Framework 4.0 dla wyliczania obiektów blob i wyrzucania elementów bezużytecznych. Dla każdej aplikacji.NET Framework można użyć pliku konfiguracji aplikacji i dodać tag supportedRuntime Aby użyć nowszej wersji programu.NET Framework. Plik konfiguracji składnika opiekuna jest Microsoft.Data.SqlRemoteBlobs.MaintainerConfig.xml, jak w poniższym przykładzie:
<startup>            <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup>
Jeśli zostanie podjęta próba uruchomienia oczyszczania śmieci, Microsoft.Data.SqlRemoteBlobs.Maintainer.exe napotka wyjątek naruszenie zasad dostępu w następujący sposób:
System.AccessViolationException: Nastąpiła próba odczytu lub zapisu pamięci chronionej. Często jest to wskazanie, że inna pamięć jest uszkodzona.
w System.Text.StringBuilder.AppendFormat (Dostawca IFormatProvider, format ciągu, obiektu args [])
w Microsoft.Data.SqlRemoteBlobs.InformationUtilities.InformationDetails()
w Microsoft.Data.BlobStores.LogProvider.CreateHeaderInformation()
w Microsoft.Data.BlobStores.LogProvider.Initialize (LogLevel logLevel)
w Microsoft.Data.BlobStores.DebugPrint.InitializeProviders()
w Microsoft.Data.BlobStores.DebugPrint.Initialize (wartość logiczna initializeProviders)
w Microsoft.Data.BlobStores.DebugPrint.WriteLine (typ operacji operacji, poziom LogLevel, Int32 blobStoreId, wyjątek, wyjątek, ciąg komunikatu, obiekt arg [])
w Microsoft.Data.SqlRemoteBlobs.Maintainer.Maintainer.MainInternal() w Microsoft.Data.SqlRemoteBlobs.Maintainer.Maintainer.Main (String [] args)
Przyczyna
Pierwszy wyjątek występuje, ponieważ narzędzie utrzymujący jest kompilowana przy użyciu programu.NET Framework 2.0. Narzędzie nie może załadować zestawów, które są oparte na.NET Framework 4.0. Wyjątek naruszenie zasad dostępu występuje, gdy użytkownik próbuje zainicjować dostawcy rejestrowania dla Microsoft.Data.SqlRemoteBlobs.Maintainer.exe.
Rozwiązanie
Poprawkę dotyczącą tego problemu jest dostępna w najnowszy pakiet funkcji do pobrania dla RBS.msi. Jeśli używasz obejścia, sugeruje, można usunąć lub włączyć rejestrowanie związane tagi i utrzymuje tagu supportRuntime .

Uwaga Za pomocą nowej RBS.msi, aby zastosować tę poprawkę bez zastosowania aktualizacji można ponownie zainstalować SPZ.
Obejście problemu
Aby obejść ten problem, należy dodać do pliku konfiguracyjnego wraz z supportedRuntime tag następująca konfiguracja dodatkowa. Te znaczniki wyłączyć możliwość rejestrowania narzędzie opiekuna, ponieważ jest wyjątek podczas inicjowania dostawcy 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”.

Ostrzeżenie: ten artykuł przetłumaczono automatycznie

Właściwości

Identyfikator artykułu: 2960310 — ostatni przegląd: 11/10/2016 00:53:00 — zmiana: 7.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 KbMtpl
Opinia
/javascript" src="https://c.microsoft.com/ms.js">