Поделиться через


Инструкция Showplan XML

Изменения: 5 декабря 2005 г.

В Microsoft SQL Server 2005 выходные данные плана выполнения «Showplan» могут быть созданы в формате XML различными способами. Выходные данные инструкции Showplan в формате XML могут передаваться с одного компьютера на другой, даже если на нем не установлен экземпляр SQL Server. Кроме того, их можно обрабатывать программным путем, используя XML-технологии, например XPath, XQuery, XSLT, SAX, DOM и другие. SQL Server 2005 поддерживает обработку инструкций Showplan XML, поскольку имеет встроенный механизм вычисления запросов XPath и XQuery.

Выходные данные инструкции Showplan XML могут быть сформированы следующими методами:

  • с помощью функций Показать предполагаемый план выполнения или Включить действительный план выполнения панели инструментов редактора запросов среды SQL Server Management Studio;
  • используя параметры SHOWPLAN_XML и STATISTICS XML инструкции Transact-SQL Showplan SET;
  • выбрав для трассировки следующие классы событий приложения SQL Server Profiler: Showplan XML, Showplan XML for Query Compile и Showplan XML Statistics Profile;
  • с помощью функции динамического управления sys.dm_exec_query_plan.

Результат выполнения инструкций Showplan XML имеет тип данных nvarchar(max) для всех методов, за исключением метода, использующего динамическое представление sys.dm_exec_query_plan. При использовании этого представления результат работы инструкции Showplan XML возвращается в виде типа данных xml.

XML-схему инструкции Showplan можно найти на веб-узле корпорации Майкрософт.

Эта схема также содержится в папке установки SQL Server 2005 по следующему пути:

Microsoft SQL Server\90\Tools\Binn\schemas\sqlserver\2003\03\showplan\showplanxml.xsd

ms189298.note(ru-ru,SQL.90).gifПримечание.
Если оптимизатор запросов преждевременно завершает оптимизацию запроса, для элемента StmtSimple выходных данных инструкции Showplan XML возвращается значение атрибута StatementOptmEarlyAbortReason. Этот атрибут может принимать значения TimeOut, GoodEnoughPlanFound и MemoryLimitExceeded. Если возвращается значение TimeOut или GoodEnoughPlanFound, то нет необходимости предпринимать какие-либо действия. Результаты выполнения инструкции Showplan верны. Если для атрибута StatementOptmEarlyAbortReason возвращено значение MemoryLimitExceeded, то это означает, что результаты выполнения инструкции Showplan XML верны, но могут быть неоптимальными. Чтобы увеличить объем доступной памяти, воспользуйтесь одним из следующих методов: 1) снизьте загрузку сервера; 2) увеличьте объем памяти, выделяемой для SQL Server. Дополнительные сведения см. в разделе Управление памятью для больших баз данных; 3) проверьте значение параметра max server memory, которое устанавливается при помощи хранимой процедуры sp_configure, и увеличьте его, если оно слишком мало. Дополнительные сведения см. в разделе Параметры памяти сервера.

Сведения о XML-схеме инструкции Showplan

Обозначение версии XML-схемы инструкции Showplan состоит из двух частей и выглядит следующим образом: m.n, где m — основной номер версии, а n — дополнительный номер версии, например «Версия 2.5». Указанный номер версии отображается в корневом элементе документа XML-схемы инструкции Showplan. Например: version="0.5".

Обратная совместимость XML-схем инструкции Showplan

При выпуске новой основной версии XML-схемы инструкции Showplan формат ее выходных данных может не совпадать с форматом, использовавшимся в более ранней версии. При выпуске вариаций основной версии схемы преемственность используемых форматов данных сохраняется. Например, форматы выходных данных инструкции Showplan XML для схем версий 0.5 и 0.6 совпадают.

Кодировка инструкций Showplan XML

В SQL Server 2005 выходные данные инструкции Showplan XML отправляются клиенту в Юникоде, при этом на каждый символ выделяется два байта. Используются следующие правила кодирования.

  • Если (char >= 0x0020 && char <= 0xD7FF) или (char == 0x0009) или 
    (char == 0x000A) или (char == 0x000D) или (char >= 0xE000 && char <= 0xFFFD)
    then send the char as 2 bytes, else send '?'
  • Символы табуляции, новой строки и перевода каретки кодируются следующим образом.
    • \t кодируется как '&#x9;'
    • \n кодируется как '&#xa;'
    • \r кодируется как '&#xd;'

Сохранение выходных данных инструкции Showplan XML в файл

После формирования выходных данных инструкции Showplan с помощью инструкции Transact-SQL SET SHOWPLAN_XML или STATISTICS XML их можно сохранить в файл с расширением SQLPLAN, например MyXMLShowplan.sqlplan. Файлы с расширением SQLPLAN можно открывать и просматривать в среде SQL Server Management Studio. Дополнительные сведения см. в разделе Как сохранить план выполнения в формате XML.

См. также

Справочник

Графическое отображение планов выполнения (SQL Server Management Studio)

Основные понятия

Отображение планов выполнения с помощью параметров Showplan инструкции SET (Transact-SQL)
Отображение плана выполнения с помощью классов событий приложения SQL Server Profiler
Безопасность инструкции Showplan

Другие ресурсы

sys.dm_exec_query_plan

Справка и поддержка

Получение помощи по SQL Server 2005

Журнал изменений

Версия Журнал

5 декабря 2005 г.

Измененное содержимое
  • Изменено место установки XML-схемы инструкции Showplan.