SQL Server 2008 은 SQL Server 2008 R2 공용 언어 런타임 기능을 사용하는 이전의 SQL Server 설치 프로그램에서 응용 프로그램, 스크립트 또는 기능을 실행할 때 오류 메시지가 나타납니다. "하는 .NET Framework 오류가 발생했습니다. 오류 메시지가 나타난다"

기술 자료 번역 기술 자료 번역
기술 자료: 955629 - 이 문서가 적용되는 제품 보기.
모두 확대 | 모두 축소

이 페이지에서

현상

공용 언어 런타임 (CLR) 기능을 사용하여 이전 Microsoft SQL Server 설치 프로그램에서 응용 프로그램, 스크립트 또는 하는 기능을 실행할 때 Microsoft SQL Server 2008 또는 Microsoft SQL Server 2008 R2 업그레이드한 후에 다음과 유사한 오류 메시지가 나타날 수 있습니다.
메시지 6522, 수준 16, 상태 1, 줄 1

사용자 정의 루틴 또는 집계 routine name 실행 중에 .NET Framework 오류가 발생했습니다.

System.InvalidOperationException: 이 컨텍스트에서 데이터 액세스가 허용되지 않습니다. 컨텍스트 함수를 있거나 없는 DataAccessKind.Read 또는 SystemDataAccessKind.Read 표시된, 테이블 반환 함수 FillRow 메서드에서 데이터를 가져오도록 콜백입니다 메서드나 UDT 유효성 검사 방법입니다.

System.InvalidOperationException
예를 들어, 다음과 같은 시나리오에서 이러한 문제가 발생할 수 있습니다.

시나리오 1

다음 특징을 가진 메서드를 사용하십시오.
  • 이 메서드는 CLR 사용자 정의 함수, 사용자 정의 형식 (UDT) 메서드 또는 가장을 수행하는 사용자 정의 집계를 사용합니다.
  • 이 메서드는 대형 개체를 (LOB) 매개 변수로 사용합니다.
  • 이 메서드는 메서드 DataAccesKind.Read 속성을 사용하지 않습니다.

시나리오 2

가장을 수행하는 CLR 테이블 반환 함수에 INIT 메서드를 사용합니다.

시나리오 3

가장을 수행하는 CLR 테이블 반환 함수에 FillRow 메서드를 사용합니다.

원인

데이터베이스 엔진 기능은 SQL Server 2008 및 SQL Server 2008 R2 변경으로 인해 이 문제가 발생합니다.

해결 과정

이 문제를 해결하려면 경우에 "현상" 절에 설명된 대로 다음 방법 중 하나를 사용하십시오.

방법 1: 시나리오 1 및 시나리오 2이 이 문제를 해결하는 방법에

이 문제를 해결하려면 메서드에 DataAccessKind.Read 속성을 추가하십시오.

방법 2: 시나리오 3 .0에서 이 문제를 해결하려면 받는 사람

이 문제를 해결하려면 아래 단계를 수행합니다:
  • 가장을 통해 FillRow 메서드를 제거하십시오.
  • FillRow 메서드를 사용하여 외부 리소스에 액세스하지 않습니다.
  • 외부 리소스에 테이블 반환 함수 INIT 메서드를 통해 액세스합니다.

참조

DataAccessKind.Read 속성 및 CLR 루틴에 대한 다른 사용자 지정 특성에 대한 자세한 내용은 다음 Microsoft TechNet 웹 사이트를 방문하십시오.
http://technet.microsoft.com/en-us/library/ms131050.aspx
변경 내용이 SQL Server 2008의 데이터베이스 엔진 기능에 대한 자세한 내용은 다음 Microsoft TechNet 웹 사이트를 방문하십시오.
http://technet.microsoft.com/en-us/library/ms143179(SQL.100).aspx

속성

기술 자료: 955629 - 마지막 검토: 2009년 3월 19일 목요일 - 수정: 2.1
본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Express
  • Microsoft SQL Server 2008 Express with Advanced Services
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Web
  • Microsoft SQL Server 2008 Workgroup
  • Microsoft SQL Server 2008 R2 Datacenter
  • Microsoft SQL Server 2008 R2 Developer
  • Microsoft SQL Server 2008 R2 Enterprise
  • Microsoft SQL Server 2008 R2 Express
  • Microsoft SQL Server 2008 R2 Express with Advanced Services
  • Microsoft SQL Server 2008 R2 Standard
  • Microsoft SQL Server 2008 R2 Standard Edition for Small Business
  • Microsoft SQL Server 2008 R2 Workgroup
키워드:?
kbmt sql2008relnotedatabaseengine sql2008relnote kbprogramming kbautomation kberrmsg kbtshoot kbexpertiseinter kbprb KB955629 KbMtko
기계 번역된 문서
중요: 본 문서는 전문 번역가가 번역한 것이 아니라 Microsoft 기계 번역 소프트웨어로 번역한 것입니다. Microsoft는 번역가가 번역한 문서 및 기계 번역된 문서를 모두 제공하므로 Microsoft 기술 자료에 있는 모든 문서를 한글로 접할 수 있습니다. 그러나 기계 번역 문서가 항상 완벽한 것은 아닙니다. 따라서 기계 번역 문서에는 마치 외국인이 한국어로 말할 때 실수를 하는 것처럼 어휘, 구문 또는 문법에 오류가 있을 수 있습니다. Microsoft는 내용상의 오역 또는 Microsoft 고객이 이러한 오역을 사용함으로써 발생하는 부 정확성, 오류 또는 손해에 대해 책임을 지지 않습니다. Microsoft는 이러한 문제를 해결하기 위해 기계 번역 소프트웨어를 자주 업데이트하고 있습니다.
이 문서의 영문 버전 보기:955629

피드백 보내기

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com