Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Base de dados SQL no Microsoft Fabric
Faz com que o Microsoft SQL Server execute Transact-SQL instruções e gere informação detalhada sobre como as instruções foram executadas sob a forma de um documento XML bem definido.
Transact-SQL convenções de sintaxe
Sintaxe
SET STATISTICS XML { ON | OFF }
Observações
A definição de SET STATISTICS XML é definida em tempo de execução ou execução e não em tempo de análise sintática.
Quando o SET STATISTICS XML está LIGADO, o SQL Server retorna informação de execução para cada instrução após a sua execução. Depois de esta opção ser ativada, a informação sobre todas as instruções Transact-SQL subsequentes é devolvida até que a opção seja definida como DESLIGADO. Note que SET STATISTICS XML não precisa de ser a única instrução num lote.
SET STATISTICS O XML devolve a saída como nvarchar(max) para aplicações, como a utilitária sqlcmd , onde a saída XML é posteriormente usada por outras ferramentas para mostrar e processar a informação do plano de consulta.
SET STATISTICS XML devolve informação como um conjunto de documentos XML. Cada instrução após a instrução SET STATISTICS XML ON é refletida na saída por um único documento. Cada documento contém o texto da declaração, seguido dos detalhes dos passos de execução. A saída mostra informações em tempo de execução, como custos, índices acedidos e tipos de operações realizadas, ordem de junção, número de vezes que uma operação física é realizada, número de linhas produzidas por cada operador físico, entre outros.
O documento que contém o esquema XML para a saída XML por SET STATISTICS XML é copiado durante a configuração para um diretório local no computador onde o Microsoft SQL Server está instalado. Pode ser encontrado na unidade que contém os ficheiros de instalação do SQL Server, em:
\Microsoft SQL Server\100\Tools\Binn\schemas\sqlserver\2004\07\showplan\showplanxml.xsd
O Esquema do Plano de Exposição também pode ser encontrado neste site.
SET STATISTICS PROFILE e SET STATISTICS XML são equivalentes um do outro. O primeiro produz saída textual; este último produz saída XML. Em versões futuras do SQL Server, a nova informação do plano de execução da consulta só será apresentada através da instrução SET STATISTICS XML, e não da instrução SET STATISTICS PROFILE.
Observação
Se Incluir Plano de Execução Real estiver selecionada no SQL Server Management Studio, essa opção SET não produzirá a saída do Plano de Execução XML. Desmarque o botão
Permissions
Para usar SET STATISTICS XML e visualizar a saída, os utilizadores devem ter as seguintes permissões:
Permissões apropriadas para executar as instruções Transact-SQL.
Permissão SHOWPLAN em todas as bases de dados que contenham objetos referenciados pelas instruções Transact-SQL.
Para Transact-SQL instruções que não produzem conjuntos de resultados STATISTICS XML, apenas são necessárias as permissões adequadas para executar as instruções Transact-SQL. Para Transact-SQL instruções que produzam conjuntos de resultados STATISTICS XML, as verificações tanto da permissão de execução da Transact-SQL como da permissão SHOWPLAN devem ter sucesso, caso contrário a execução da Transact-SQL instrução é abortada e nenhuma informação do Showplan é gerada.
Examples
As duas instruções que se seguem utilizam as definições SET STATISTICS XML para mostrar a forma como o SQL Server analisa e otimiza o uso de índices em consultas. A primeira consulta utiliza o operador de comparação Equals (=) na cláusula WHERE numa coluna indexada. A segunda consulta usa o operador LIKE na cláusula WHERE. Isto obriga o SQL Server a usar uma varredura de índice em cluster para encontrar os dados que satisfazem a condição da cláusula WHERE. Os valores nos atributos EstimateRows e EstimatedTotalSubtreeCost são menores para a primeira consulta indexada, indicando que foi processada muito mais rapidamente e usou menos recursos do que a consulta não indexada.
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
Ver também
Definir SHOWPLAN_XML (Transact-SQL)
sqlcmd Utility (Utilitário sqlcmd)