1

저장 프로 시저 및 SQL Server 2008 SP1과 함께 Entity Framework 4 사용 ... SQL Server 프로파일 러 (TSQL_SPs 템플릿)를 실행할 때 저장 프로 시저 호출 및 해당 문을 표시하는 줄에 DatabaseID = 1 (마스터)에서 발생했다고 표시되지만 그것은 실제로 내 응용 프로그램 데이터베이스에서 일어나고 있습니다. 프로 시저가 제대로 실행되고 데이터가 반환됩니다. 응용 프로그램 데이터베이스에만 존재하므로 Profiler는 왜 해당 행을 Master로 표시합니까? 프로파일 러의 버그입니까?SQL 2008 프로파일 러가 EF4에서 실행되는 저장 프로 시저가 마스터에 있음을 나타내는 이유는 무엇입니까?

SQL 2000 인스턴스에 대해 동일한 코드를 실행하면 Profiler는 응용 프로그램의 데이터베이스 ID를 올바르게 표시합니다.

UPDATE : 지금 SQL 서버 2008 R2의 새로운 설치에이 테스트 한 마스터에서 일어난 것처럼 여전히이 표시됩니다. 2

UPDATE :이는 https://connect.microsoft.com/SQLServer/feedback/details/572246/profiler-reports-ef4-queries-as-occurring-in-master에 연결하기 위해 기록되었습니다.

+0

아직 버그가 수정되지 않았습니까? – Sascha

답변

3

'MultipleActiveResultSets = True'옵션이 youir 연결에 포함되어 있습니까? 그렇다면 SQL 프로파일 러를 제거하고 제거하십시오.

+0

예, 연결 문자열에서 * MultipleActiveResultSets * 옵션을 기본값 True에서 False로 변경하면 Profiler가 응용 프로그램 데이터베이스에서 실행되는 쿼리를 올바르게보고합니다. 나에게는 버그와 비슷하지만이 해결 방법으로 살아갈 수 있습니다. **감사!!!** – AjarnMark