Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Применимо к:SQL Server
База данных
SQL AzureУправляемый экземпляр
SQL AzureБаза данных SQL в Microsoft Fabric
При установке этого параметра Microsoft SQL Server выполняет инструкции Transact-SQL и формирует подробные сведения о выполнении инструкций в форме четко определенного XML-документа.
Соглашения о синтаксисе Transact-SQL
Синтаксис
SET STATISTICS XML { ON | OFF }
Замечания
Настройка SETSET STATISTICS XML установлена на время выполнения или выполнения, а не на время разбора.
Когда SETSET STATISTICS XML ВКЛЮЧЕНО, SQL Server возвращает информацию о выполнении для каждого оператора после его выполнения. Если для этого параметра установлено значение ON, данные обо всех последующих инструкциях Transact-SQL возвращаются до тех пор, пока для этого параметра не будет установлено значение OFF. Обратите внимание, что SETSET STATISTICS XML это не обязательно единственное утверждение в партии.
SET SET STATISTICS XML возвращает выход в формате nvarchar(max ) для приложений, таких как утилита sqlcmd , где XML-выход затем используется другими инструментами для отображения и обработки информации о плане запроса.
SET SET STATISTICS XML возвращает информацию в виде набора XML-документов. Каждое утверждение после SETSET STATISTICS XML оператора ON отражается в выходе одним документом. Каждый документ содержит текст инструкции, за которым следуют подробности об этапах выполнения команды. Вывод отображает данные времени выполнения, такие как стоимость, индексы, к которым производился доступ, тип выполненных операций, порядок соединения, количество выполнения физических операций, количество строк, созданных каждым физическим оператором и т. д.
Документ, содержащий XML-схему для вывода XML, SETSET STATISTICS XML копируется при установке в локальную папку на компьютере, на котором установлен Microsoft SQL Server. Его можно найти на диске, содержащем файлы установки SQL Server:
\Microsoft SQL Server\100\Tools\Binn\schemas\sqlserver\2004\07\showplan\showplanxml.xsd
Схему для инструкции SHOWPLAN также можно найти на следующем веб-сайте.
SET SET STATISTICS PROFILE и SETSET STATISTICS XML являются аналогами друг друга. Первая выводит данные в текстовом формате, а вторая выводит данные в формате XML. В будущих версиях SQL Server новая информация о плане выполнения запросов будет отображаться только через SETоператор, а не через операторSETSET STATISTICS PROFILE.SET STATISTICS XML
Примечание.
Если в SQL Server Management Studio выбран Включить план фактического исполнения, эта SET опция не даёт вывода XML Showplan. Перед использованием этой опции уберите кнопку SET».
Разрешения
Для использования SETSET STATISTICS XML и просмотра результата пользователи должны иметь следующие права:
необходимые разрешения на выполнение инструкций Transact-SQL;
разрешение SHOWPLAN на все базы данных, содержащие объекты, на которые ссылаются инструкции Transact-SQL.
Для Transact-SQL операторов, не производящих STATISTICS XML наборы результатов, требуются только соответствующие разрешения для выполнения операторов Transact-SQL. Для Transact-SQL операторов, которые действительно создают STATISTICS XML наборы результатов, проверка как разрешения на выполнение Transact-SQL, так и разрешения SHOWPLAN, должна быть успешной, иначе выполнение оператора Transact-SQL прекращается, и информация Showplan не генерируется.
Примеры
Два следующих оператора используют SETSET STATISTICS XML настройки, чтобы показать, как SQL Server анализирует и оптимизирует использование индексов в запросах. В первом запросе используется оператор сравнения (=) в предложении WHERE для индексируемого столбца. Во втором запросе в предложении WHERE используется оператор LIKE. В результате этого SQL Server использует просмотр кластеризованного индекса, чтобы выполнить поиск данных, удовлетворяющих условие в предложении WHERE. Значения атрибутов EstimateRows и EstimatedTotalSubtreeCost меньше у первого, индексируемого запроса, из чего следует, что первый запрос выполнился намного быстрее и потребовал меньше ресурсов, чем неиндексируемый запрос.
USE AdventureWorks2022;
GO
SET STATISTICS XML ON;
GO
-- First query.
SELECT BusinessEntityID
FROM HumanResources.Employee
WHERE NationalIDNumber = '509647174';
GO
-- Second query.
SELECT BusinessEntityID, JobTitle
FROM HumanResources.Employee
WHERE JobTitle LIKE 'Production%';
GO
SET STATISTICS XML OFF;
GO