Sign in with Microsoft
Sign in or create an account.
Hello,
Select a different account.
You have multiple accounts
Choose the account you want to sign in with.

徵狀

假設您將自訂的遠端 BLOB 儲存體(RBS)提供者與執行時間 .NET Framework 4.0 搭配使用,以將 Microsoft SharePoint 2013 的 blob 儲存在遠端。 當您嘗試執行在內部呼叫 SqlRemoteBlobs 的垃圾清除時,會在垃圾收集期間收到下列錯誤訊息:

開始 Maintainer 工作。 啟動垃圾收集。 開始進行參照掃描。 <時間>:錯誤:0:::: AssemblyLoad:::讀取延伸檔 xxxx 時發生錯誤。RemoteBlobStoreProvider,<時間>:錯誤:0::: AssemblyLoad::: BadImageFormatException:此元件是由目前載入的執行時間更新,且無法載入。 (來自 HRESULT 的例外狀況:0x8013101B) <時間>: ERR:0::: AssemblyLoad:::在 NLoadFile (字串路徑、證據證據) <時間>:錯誤:0::: AssemblyLoad:::在中,LoadFile (字串路徑) <時間>:錯誤:0::: AssemblyLoad:::

Maintainer 工具是使用 .NET Framework 2.0 執行時間進行編譯,而且它無法載入以 .NET Framework 4.0 為 blob 和垃圾收集列舉的元件。 針對任何 .NET Framework 應用程式,您可以使用應用程式的設定檔案,並新增 supportedRuntime 標籤以使用較新版本的 .net framework。 Maintainer 元件的設定檔案是 SqlRemoteBlobs,如下列範例所示:)

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

如果您嘗試執行垃圾清除,SqlRemoteBlobs 會遇到違反存取的例外狀況,如下所示:

AccessViolationException:試圖讀取或寫入受保護的記憶體。 這通常表示其他記憶體已損毀。 在 AppendFormat (IFormatProvider 提供者、字串格式、物件 [] args) at SqlRemoteBlobs,InformationUtilities. InformationDetails ()在 microsoft. BlobStores. LogProvider ()上的(. CreateHeaderInformation () BlobStores (LogProvider ()。在 microsoft. LogLevel (() LogLevel ()。 BlobStores: DebugPrint (布林 initializeProviders)在 microsoft. BlobStores. DebugPrint、OperationType 階層、Int32 LogLevel、例外狀況、字串訊息、Object [] arg),請參閱(String [] args)] 中的(String [] args))。))中的 BlobStoreId (字串 [] 參數)

原因

第一個例外狀況是由使用 .NET Framework 2.0 編譯的 Maintainer 工具所產生。 此工具無法載入以 .NET Framework 4.0 為基礎的元件。 當您嘗試初始化 SqlRemoteBlobs 的記錄提供者時,會發生 [存取侵犯] 例外狀況。

解決方案

此問題的修正程式可在適用于 RBS 的最新功能套件下載中取得。 如果您使用的是建議的因應措施,您可以移除或啟用記錄相關標記,並保留 supportRuntime 標籤。注意: 您可以使用新的 RBS .msi 來套用修正,不需套用更新,即可重新安裝 RBS。

下載 MICROSOFT Sql server 2014 Service pack 1 (SP1)功能套件 下載 microsoft Sql Server 2012 Service PACK 3 (SP3)功能套件

因應措施

若要解決此問題,請將下列額外設定新增至設定檔,以及 supportedRuntime 標籤。 這些標記會停用 Maintainer 工具的記錄功能,因為在初始化記錄提供者期間會引發例外狀況。

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

狀態

Microsoft 已確認本篇文章<適用於>一節所列之 Microsoft 產品確實有上述問題。

Need more help?

Want more options?

探索訂閱權益、瀏覽訓練課程、瞭解如何保護您的裝置等等。

社群可協助您詢問並回答問題、提供意見反應,以及聆聽來自具有豐富知識的專家意見。

Was this information helpful?

How satisfied are you with the translation quality?
What affected your experience?
By pressing submit, your feedback will be used to improve Microsoft products and services. Your IT admin will be able to collect this data. Privacy Statement.

Thank you for your feedback!

×