SET SHOWPLAN_XML (Transact-SQL)
Изменения: 5 декабря 2005 г.
Отключает выполнение SQL Server инструкций Transact-SQL. Вместо этого SQL Server возвращает подробную информацию о плане выполнения инструкций в виде корректного XML-документа
Соглашения о синтаксисе в Transact-SQL
Синтаксис
SET SHOWPLAN_XML { ON | OFF }
Замечания
Значение SET SHOWPLAN_XML устанавливается во время запуска или выполнения, а не во время синтаксического анализа.
Если SET SHOWPLAN_XML имеет значение ON, SQL Server возвращает данные для каждой инструкции Transact-SQL, не выполняя ее. После того как этому параметру присвоено значение ON, данные обо всех последующих инструкциях Transact-SQL возвращаются до тех пор, пока ему не будет присвоено значение OFF. Например, если инструкция CREATE TABLE будет выполнена при установленном в ON значении SET SHOWPLAN_XML, SQL Server вернет сообщение об ошибке в последующей инструкции SELECT, относящейся к той же таблице, сообщая пользователю, что указанной таблицы не существует. Таким образом, последующие обращения к этой таблице вызовут ошибки. Когда параметр SET SHOWPLAN_XML установлен в OFF, SQL Server выполняет инструкции, не создавая отчетов.
Инструкция SET SHOWPLAN_XML предназначена для получения результатов в формате nvarchar(max) для таких приложений как, например программа sqlcmd, причем вывод в формате XML используется далее другими средствами для отображения и обработки данных о плане запроса.
Примечание. |
---|
Динамическое административное представление sys.dm_exec_query_plan возвращает те же данные, что и инструкция SET SHOWPLAN XML, в формате данных xml. Эти данные возвращаются из столбца query_plan представления sys.dm_exec_query_plan. Дополнительные сведения см. в разделе sys.dm_exec_query_plan. |
Инструкцию SET SHOWPLAN_XML нельзя вызывать внутри хранимых процедур. Она должна быть единственной инструкцией в пакете.
Инструкция SET STATISTICS XML возвращает данные в виде набора XML-документов. Каждый пакет после выполнения инструкции SET SHOWPLAN_XML ON сопровождается выводом одного документа. Каждый документ содержит текст инструкций, входящих в пакет, за которым следуют подробные сведения об этапах выполнения команды. Документ отображает оценку издержек выполнения, количество строк, индексов, к которым был произведен доступ, типы выполненных операторов, порядок соединения и другие данные о планах выполнения.
Документ, содержащий XML-схему для вывода в формате XML, формируемого инструкцией SET SHOWPLAN_XML, копируется во время установки в локальный каталог на компьютере, на котором установлен Microsoft SQL Server 2005. Его можно найти на диске, содержащем установочные файлы SQL Server:
\Microsoft SQL Server\90\Tools\Binn\schemas\sqlserver\2004\07\showplan\showplanxml.xsd
Схему плана визуализации также можно найти на следующем веб-узле.
Примечание. |
---|
Если флажок Включать действительный план выполнения в среде SQL Server Management Studio установлен, тогда этот параметр SET не предоставляет выходных данных Showplan в формате XML. Необходимо снять флажок Включать действительный план выполнения перед использованием инструкции SET с этим параметром. |
Разрешения
Для использования инструкции SET SHOWPLAN_XML требуются достаточные разрешения на выполнение инструкций, которые будут выполняться с после инструкции SET SHOWPLAN_XML, а также разрешение SHOWPLAN для всех баз данных, содержащих объекты, на которые ссылаются инструкции.
Чтобы инструкции SELECT, INSERT, UPDATE, DELETE, EXEC stored_procedure и EXEC user_defined_function создавали планы Showplan, пользователь должен:
- обладать необходимыми разрешениями на выполнение инструкций Transact-SQL;
- обладать разрешением SHOWPLAN для всех баз данных, содержащих объекты (такие как таблицы, представления и т. д.), на которые ссылаются инструкции Transact-SQL.
Для всех остальных инструкций (например DDL, USE database_name, SET, DECLARE, динамического SQL и т. д.) требуются лишь соответствующие разрешения на выполнение инструкций Transact-SQL.
Дополнительные сведения см. в разделах Безопасность инструкции Showplan и Разрешение SHOWPLAN и пакеты Transact-SQL.
Примеры
Две последующие инструкции используют параметры SET SHOWPLAN_XML, чтобы продемонстрировать, как происходят анализ и оптимизация использования индексов в запросах SQL Server.
В предложении WHERE первого запроса оператор сравнения равно (=) применяется к индексированному столбцу. Во втором запросе в предложении WHERE используется оператор LIKE. Это заставляет SQL Server использовать поиск по кластеризованному индексу, чтобы найти удовлетворяющие условию в предложении WHERE данные. Значения атрибутов EstimateRows и EstimatedTotalSubtreeCost меньше у первого (индексируемого) запроса, из чего следует, что первый запрос был выполнен намного быстрее и потребовал меньше ресурсов, чем неиндексируемый запрос.
USE AdventureWorks;
GO
SET SHOWPLAN_XML ON;
GO
-- First query.
SELECT EmployeeID
FROM HumanResources.Employee
WHERE NationalIDNumber = '509647174';
GO
-- Second query.
SELECT EmployeeID, ContactID
FROM HumanResources.Employee
WHERE Title LIKE 'Production%';
GO
SET SHOWPLAN_XML OFF;
См. также
Справочник
Другие ресурсы
Как сохранить план выполнения в формате XML
Анализ запроса
Инструкции Transact-SQL, создающие инструкции Showplan
Отображение планов выполнения с помощью параметров Showplan инструкции SET (Transact-SQL)
Справка и поддержка
Получение помощи по SQL Server 2005
Журнал изменений
Версия | Журнал |
---|---|
5 декабря 2005 г. |
|