FIX: SQL Server 관련 된 구성 파일에서.NET Framework 4.0을 사용 하 여 RBS를 관리 하는 경우 액세스 위반

이 문서는 Microsoft 기계 번역 소프트웨어를 이용하여 번역되었으며 Microsoft Community에 의한 Community Translation Framework(CTF) 기술 혹은 사람이 번역한 내용에 의하여 사후 편집될 수 있습니다. Microsoft는 Knowledge Base에 있는 모든 문서에 다양한 언어로 접근할 수 있도록 하기 위하여 기계 번역, 사람에 의한 번역 및 커뮤니티가 편집한 내용을 모두 제공합니다. 번역된 문서는 어휘, 구문 및/혹은 문법에 오류가 있을 수 있습니다. Microsoft는 번역 오류로 인한 부정확성, 오류 및/또는 손해와 이를 고객이 사용하는 데에 대하여 책임을 지지 않습니다.

이 문서의 영문 버전 보기:2960310
현상
런타임에.NET Framework 4.0 함께 사용자 지정 원격 BLOB 저장소 (RBS) 공급자 Microsoft SharePoint 2013에 대 한 원격 blob 저장소를 사용 하 고 있는지 가정 합니다. 내부적으로 Microsoft.Data.SqlRemoteBlobs.Maintainer.exe를 호출 하 여 가비지 정리 도구를 실행 하려고 하면 가비지 수집 하는 동안 다음과 같은 오류 메시지가 나타날 있습니다.
유지 관리자 작업을 시작 합니다.
가비지 수집을 시작합니다.
참조 검색을 시작 합니다.
시간>: 오류: 0:::AssemblyLoad::: 확장 파일 xxxx를 읽는 동안 오류가 발생 했습니다. RemoteBlobStoreProvider.dll입니다.
시간>: 오류: 0:::AssemblyLoad::: System.BadImageFormatException:이 어셈블리가 현재 로드 된 보다 최신 런타임에서 빌드되고 로드할 수 없습니다. (예외가 발생 했습니다: 0x8013101B)
시간>: 오류: 0:::AssemblyLoad::: System.Reflection.Assembly.nLoadFile (문자열 경로, 증거 증거)에
시간>: 오류: 0:::AssemblyLoad::: System.Reflection.Assembly.LoadFile (문자열 경로)에시간>: 오류: 0:::AssemblyLoad::: Microsoft.Data.SqlRemoteBlobs.ProviderClass.Initialize()에서

유지 관리자 도구는.NET Framework 2.0 런타임을 사용 하 여 컴파일되고 blob 및 가비지 컬렉션의 열거에 대 한.NET Framework 4.0을 기반으로 하는 어셈블리를 로드할 수 없습니다. 모든.NET Framework 응용 프로그램에 대 한 응용 프로그램의 구성 파일을 사용 하 여 추가 하는 최신 버전의.NET Framework 사용 하 여 supportedRuntime 태그. 유지 관리자 구성 요소는 구성 파일에 다음 예제와 같이, Microsoft.Data.SqlRemoteBlobs.MaintainerConfig.xml입니다.
<startup>            <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup>
가비지 정리 도구를 실행 하려고 하면 Microsoft.Data.SqlRemoteBlobs.Maintainer.exe 예외가 발생 하면 액세스 위반 다음과 같습니다.
System.AccessViolationException: 보호 된 메모리를 읽거나 했습니다. 이것은 종종 다른 메모리가 손상 되었음을 나타냅니다.
System.Text.StringBuilder.AppendFormat (IFormatProvider 공급자, 문자열 형식, Object args)에
Microsoft.Data.SqlRemoteBlobs.InformationUtilities.InformationDetails()에서
Microsoft.Data.BlobStores.LogProvider.CreateHeaderInformation()에서
Microsoft.Data.BlobStores.LogProvider.Initialize (LogLevel logLevel)에
Microsoft.Data.BlobStores.DebugPrint.InitializeProviders()에서
Microsoft.Data.BlobStores.DebugPrint.Initialize (부울 initializeProviders)에
Microsoft.Data.BlobStores.DebugPrint.WriteLine (작업 작업, LogLevel 수준, Int32 blobStoreId, 예외 예외, 문자열 메시지, 개체 arg)에
Microsoft.Data.SqlRemoteBlobs.Maintainer.Maintainer.Main (String args)에 Microsoft.Data.SqlRemoteBlobs.Maintainer.Maintainer.MainInternal()에서
원인
유지 관리자 도구는.NET Framework 2.0을 사용 하 여 컴파일되는 첫 번째 예외가 발생 합니다. 도구는.NET Framework 4.0을 기반으로 하는 어셈블리를 로드할 수 없습니다. 액세스 위반 예외가 Microsoft.Data.SqlRemoteBlobs.Maintainer.exe에 대 한 로깅 공급자를 초기화 하려고 할 때 발생 합니다.
해결 방법
이 문제에 대 한 수정 프로그램은 RBS.msi의 최신 기능 팩 다운로드 가능 합니다. 제거 하거나 사용 로깅 관련 수 제시 된 대안을 사용 하면 태그와 supportRuntime 태그를 유지 합니다.

참고: 이 업데이트를 적용 하지 않고 수정 프로그램을 적용 하 여 새로운 RBS.msi를 사용 하 여 RBS를 다시 설치할 수 있습니다.
해결 과정
이 문제를 해결 하려면 다음과 같은 추가 구성이 supportedRuntime 태그와 함께 구성 파일을 추가 합니다. 이러한 태그 로깅 공급자를 초기화 하는 동안 throw 되는 예외 이므로 유지 관리자 도구에 대 한 로깅 기능을 해제 합니다.
 <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 제품의 문제임을 확인했습니다.

경고: 이 문서는 자동으로 번역되었습니다.

속성

문서 ID: 2960310 - 마지막 검토: 11/09/2016 21:19:00 - 수정: 6.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 KbMtko
피드백