Applies ToSQL Server 2012 Enterprise SQL Server 2012 Developer SQL Server 2012 Standard SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

Проблемы

Предположим, что вы используете настраиваемый поставщик хранилища больших двоичных объектов (СДРес) вместе со средой выполнения .NET Framework 4,0 для удаленного хранения больших двоичных объектов для Microsoft SharePoint 2013. При попытке запустить функцию очистки мусора, которая внутренне вызывает Microsoft. Data. SqlRemoteBlobs. exe, появляется следующее сообщение об ошибке во время сборки мусора:

Запуск задач обслуживания. Начинается сбор мусора. Начинается проверка ссылок. <время>: ошибка: 0::: AssemblyLoad::: при чтении файла расширения XXXX произошла ошибка. RemoteBlobStoreProvider. dll. <Time>: ERR: 0::: AssemblyLoad::: System. BadImageFormatException: сборка строится с помощью среды выполнения более поздней, чем текущая загруженная среда выполнения, и не может быть загружена. (Исключение из HRESULT: 0x8013101B) <время>: ошибка: 0::: AssemblyLoad::: at System. Reflection. Assembly. NLoadFile (строковый путь, свидетельство свидетельства) <time>: ERR: 0::: AssemblyLoad::: at System. Reflection. Assembly. LoadFile (строковый путь) <время>: ERR::: at Microsoft. Data. AssemblyLoad. SqlRemoteBlobs. Initialize ()

Средство обслуживания компилируется с использованием среды выполнения .NET Framework 2,0 и не может загружать сборки, основанные на платформе .NET Framework 4,0 для перечисления больших двоичных объектов и сборки мусора. Для любого приложения .NET Framework вы можете использовать файл конфигурации приложения и добавить тег supportedRuntime для использования более поздней версии .NET Framework. Файл конфигурации компонента обслуживания — Microsoft. Data. SqlRemoteBlobs. MaintainerConfig. XML, как показано в следующем примере:

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

При попытке запустить программу очистки мусора Microsoft. Data. SqlRemoteBlobs. exe обнаруживает исключение нарушения прав доступа, как описано ниже.

System. AccessViolationException: попытался прочитать или записать защищенную память. Это часто указывает на то, что другая память повреждена. на странице System. Text. StringBuilder. AppendFormat (поставщик IFormatProvider, строковое форматирование, объект [] args) на странице Microsoft. Data. SqlRemoteBlobs. InformationUtilities. InformationDetails () на веб-странице Microsoft. Data. BlobStores. LogProvider. Initialize (CreateHeaderInformation BlobStores) на странице Microsoft. Data. LogProvider. LogLevel. LogLevel () at. BlobStores. DebugPrint. Initialize (Boolean initializeProviders) в Microsoft. Data. BlobStores. DebugPrint. WriteLine (OperationType, LogLevel), Int32 blobStoreId, Exception (исключение, String message [] ARG) на веб-странице Microsoft. Data. SqlRemoteBlobs. () на странице Microsoft. Data. MainInternal..-in. Main ().

Причина

Первое исключение возникает из-за того, что средство обслуживания компилируется с помощью .NET Framework 2,0. Средство не может загрузить сборки, основанные на платформе .NET Framework 4,0. Исключение нарушения прав доступа возникает при попытке инициализировать регистраторы для Microsoft. Data. SqlRemoteBlobs., поддерживающей. exe.

Решение

Исправление для этой проблемы доступно в последней загрузке пакета дополнительных компонентов для СДРес. msi. Если вы используете Предлагаемое временное решение, вы можете удалить или включить теги, связанные с ведением журнала, и хранить тег supportRuntime .Примечание. Вы можете переустановить СДРес с помощью нового файла СДРес. msi, чтобы применить это исправление без применения обновления.

Загрузка пакета дополнительных компонентов Microsoft SQL server 2014 с пакетом обновления 1 (SP1) загрузить пакет дополнительных компонентов microsoft SQL Server 2012 с пакетом обновления 3 (SP3)

Обходное решение

Чтобы обойти эту проблему, добавьте в файл конфигурации следующую дополнительную конфигурацию вместе с тегом supportedRuntime . Эти теги отключают возможность ведения журнала для средства обслуживания, так как исключение вызывается при инициализации регистраторов.

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

Статус

Корпорация Майкрософт подтверждает наличие этой проблемы в своих продуктах, которые перечислены в разделе "Применяется к".

Нужна дополнительная помощь?

Нужны дополнительные параметры?

Изучите преимущества подписки, просмотрите учебные курсы, узнайте, как защитить свое устройство и т. д.

В сообществах можно задавать вопросы и отвечать на них, отправлять отзывы и консультироваться с экспертами разных профилей.