none
ssms 실행계획 컬럼 클릭시 실행계획이 안나오고 xml이 나옵니다. RRS feed

  • 질문

  • 안녕하세요

    실행계획을 보려고 query_plan 컬럼을 클릭하였는데 실행계획이 안나오고 xml형식으로 태그가 실행이됩니다..

    set showplan_xml off 를 해도 여전히 xml 형식으로 나오구요..

    ssms 설정의 어떤 설정을 해야 실행계획이 제대로 보여질까요?

    2018년 7월 19일 목요일 오전 6:55

답변

  • 안녕하세요,

    상세한 설명 감사합니다. 동일한 쿼리를 실행하였는데 다른 작동이 있다면 결과가 도출된 환경을 확인해봐야 할 것 같습니다. 안타깝게도 리서칭시 관련된 별도의 사례들은 보이지 않지만,  Include Actual Execution Plan 버튼 적용 차이가 두 PC 사이에 있는지 혹시 해당 설정이 차이를 만들어 낸 것은 아닌지 의심해볼 수는 있을 것 같습니다.

    SET SHOWPLAN_XML (Transact-SQL) 의 'Note' 절
    https://docs.microsoft.com/en-us/sql/t-sql/statements/set-showplan-xml-transact-sql?view=sql-server-2017

    만약 아니라면 기술 지원부 등 조금 더 기술적인 지원이 필요할 수 있을 것 같습니다.

    감사합니다.

    • 답변으로 표시됨 이경용 2018년 7월 25일 수요일 오전 6:08
    2018년 7월 20일 금요일 오전 2:30
    중재자

모든 응답

  • 안녕하세요,

    어떤 방법으로 실행 계획을 확인하시려고 시도하신 건지 조금 알기가 어렵습니다. 캐시에서 실행 계획을 확인하시려고 한 것인가요? 출력된 xml 결과는 제대로 출력이 되었는지요?

    아시다시피 SSMS에선 Include Actual Execution Plan을 통해 선택하여 확인할 수 있습니다. 그 외에 다른 방법들을 하기 링크에서 참고해보실 수도 있을 것 같습니다.

    How do I obtain a Query Execution Plan?
    https://stackoverflow.com/questions/7359702/how-do-i-obtain-a-query-execution-plan

    감사합니다.

    2018년 7월 19일 목요일 오전 7:55
    중재자
  • SELECT TOP 10 SUBSTRING(qt.TEXT, (qs.statement_start_offset/2)+1,
    ((CASE qs.statement_end_offset
    WHEN -1 THEN DATALENGTH(qt.TEXT)
    ELSE qs.statement_end_offset
    END - qs.statement_start_offset)/2)+1),
    qs.execution_count,
    qs.total_logical_reads, qs.last_logical_reads,
    qs.total_logical_writes, qs.last_logical_writes,
    qs.total_worker_time,
    qs.last_worker_time,
    qs.total_elapsed_time/1000000 total_elapsed_time_in_S,
    qs.last_elapsed_time/1000000 last_elapsed_time_in_S,
    qs.last_execution_time,
    qp.query_plan
    FROM sys.dm_exec_query_stats qs
    CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) qt
    CROSS APPLY sys.dm_exec_query_plan(qs.plan_handle) qp
    ORDER BY qs.total_logical_reads DESC -- logical reads
    -- ORDER BY qs.total_logical_writes DESC -- logical writes
    -- ORDER BY qs.total_worker_time DESC -- CPU time

    위 쿼리를 실행해서 query_plan 컬럼을 클릭하면 실행계획이 보이게 되는데..

    1. A PC의 ssms에서는 정상적으로 쿼리플랜이 보이는데 B PC의 ssms에서는 xml형식으로 보이게 됩니다..

    2. xml 결과는 제대로 출력이 되었습니다.

    감사합니다.

    2018년 7월 20일 금요일 오전 12:04
  • 안녕하세요,

    상세한 설명 감사합니다. 동일한 쿼리를 실행하였는데 다른 작동이 있다면 결과가 도출된 환경을 확인해봐야 할 것 같습니다. 안타깝게도 리서칭시 관련된 별도의 사례들은 보이지 않지만,  Include Actual Execution Plan 버튼 적용 차이가 두 PC 사이에 있는지 혹시 해당 설정이 차이를 만들어 낸 것은 아닌지 의심해볼 수는 있을 것 같습니다.

    SET SHOWPLAN_XML (Transact-SQL) 의 'Note' 절
    https://docs.microsoft.com/en-us/sql/t-sql/statements/set-showplan-xml-transact-sql?view=sql-server-2017

    만약 아니라면 기술 지원부 등 조금 더 기술적인 지원이 필요할 수 있을 것 같습니다.

    감사합니다.

    • 답변으로 표시됨 이경용 2018년 7월 25일 수요일 오전 6:08
    2018년 7월 20일 금요일 오전 2:30
    중재자