SET STATISTICS XML (Transact-SQL)SET STATISTICS XML (Transact-SQL)

ESTE TEMA SE APLICA A:síSQL Server (a partir de 2008)síAzure SQL DatabasenoAzure SQL Data Warehouse noAlmacenamiento de datos paralelos THIS TOPIC APPLIES TO:yesSQL Server (starting with 2008)yesAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

Hace que Microsoft SQL ServerSQL Server ejecute instrucciones Transact-SQLTransact-SQL y genere información detallada sobre cómo se ejecutaron las instrucciones en un documento XML definido correctamente.Causes Microsoft SQL ServerSQL Server to execute Transact-SQLTransact-SQL statements and generate detailed information about how the statements were executed in the form of a well-defined XML document.

Icono de vínculo de tema Convenciones de sintaxis de Transact-SQLTopic link icon Transact-SQL Syntax Conventions

SintaxisSyntax


SET STATISTICS XML { ON | OFF }  

ComentariosRemarks

El valor de SET STATISTICS XML se establece en tiempo de ejecución, no en tiempo de análisis.The setting of SET STATISTICS XML is set at execute or run time and not at parse time.

Si SET STATISTICS XML es ON, SQL ServerSQL Server devuelve información sobre la ejecución de cada instrucción después de ejecutarla.When SET STATISTICS XML is ON, SQL ServerSQL Server returns execution information for each statement after executing it. Cuando esta opción está establecida en ON, se devuelve información acerca de todas las instrucciones Transact-SQLTransact-SQL siguientes hasta que se vuelve a establecer en OFF.After this option is set ON, information about all subsequent Transact-SQLTransact-SQL statements is returned until the option is set to OFF. Tenga en cuenta que SET STATISTICS XML no tiene que ser la única instrucción de un lote.Note that SET STATISTICS XML need not be the only statement in a batch.

SET STATISTICS XML devuelve el resultado como nvarchar (max) para las aplicaciones, como el sqlcmd utilidad, donde la salida XML se utiliza otras herramientas para mostrar y procesar el plan de consulta información.SET STATISTICS XML returns output as nvarchar(max) for applications, such as the sqlcmd utility, where the XML output is subsequently used by other tools to display and process the query plan information.

SET STATISTICS XML devuelve la información como un conjunto de documentos XML.SET STATISTICS XML returns information as a set of XML documents. Cada instrucción posterior a la instrucción SET STATISTICS XML ON se refleja en la salida con un solo documento.Each statement after the SET STATISTICS XML ON statement is reflected in the output by a single document. Cada documento contiene el texto de la instrucción, seguido de los detalles de los pasos de ejecución.Each document contains the text of the statement, followed by the details of the execution steps. La salida muestra información en tiempo de ejecución, como los costos, los índices a los que se ha tenido acceso, los tipos de operaciones realizadas, el orden de combinación, el número de veces que se realiza una operación física, el número de filas generadas por cada operador físico, etc.The output shows run-time information such as the costs, accessed indexes, and types of operations performed, join order, the number of times a physical operation is performed, the number of rows each physical operator produced, and more.

El documento que contiene el esquema XML de la salida XML de SET STATISTICS XML se copia durante la instalación en un directorio local del equipo en el que se instala Microsoft SQL ServerSQL Server.The document containing the XML schema for the XML output by SET STATISTICS XML is copied during setup to a local directory on the computer on which Microsoft SQL ServerSQL Server is installed. Se encuentra en la unidad que contiene los archivos de instalación de SQL ServerSQL Server, en:It can be found on the drive containing the SQL ServerSQL Server installation files, at:

\Microsoft SQL Server\100\Tools\Binn\schemas\sqlserver\2004\07\showplan\showplanxml.xsd\Microsoft SQL Server\100\Tools\Binn\schemas\sqlserver\2004\07\showplan\showplanxml.xsd

También puede encontrarse en el esquema del plan de presentación este sitio Web.The Showplan Schema can also be found at this Web site.

SET STATISTICS PROFILE y SET STATISTICS XML son equivalentes.SET STATISTICS PROFILE and SET STATISTICS XML are counterparts of each other. El primero genera resultados en formato de texto y el último en formato XML.The former produces textual output; the latter produces XML output. En futuras versiones de SQL ServerSQL Server, la información del plan de ejecución de consultas se mostrará únicamente mediante la instrucción SET STATISTICS XML, no SET STATISTICS PROFILE.In future versions of SQL ServerSQL Server, new query execution plan information will only be displayed through the SET STATISTICS XML statement, not the SET STATISTICS PROFILE statement.

Nota

Si incluir Plan de ejecución real está seleccionado en SQL Server Management StudioSQL Server Management Studio, esta opción SET no produce resultado del plan de presentación XML.If Include Actual Execution Plan is selected in SQL Server Management StudioSQL Server Management Studio, this SET option does not produce XML Showplan output. Desactive el incluir Plan de ejecución real botón antes de utilizarla opción SET..Clear the Include Actual Execution Plan button before using this SET option.

PermissionsPermissions

Para utilizar SET STATISTICS XML y ver el resultado, los usuarios deben tener los permisos siguientes:To use SET STATISTICS XML and view the output, users must have the following permissions:

  • Los permisos adecuados para ejecutar instrucciones Transact-SQLTransact-SQL.Appropriate permissions to execute the Transact-SQLTransact-SQL statements.

  • El permiso SHOWPLAN para todas las bases de datos que contienen objetos a los que hacen referencia las instrucciones Transact-SQLTransact-SQL.SHOWPLAN permission on all databases containing objects that are referenced by the Transact-SQLTransact-SQL statements.

    Para las instrucciones Transact-SQLTransact-SQL que no generan conjuntos de resultados de STATISTICS XML, solo se necesitan los permisos adecuados para ejecutar las instrucciones Transact-SQLTransact-SQL.For Transact-SQLTransact-SQL statements that do not produce STATISTICS XML result sets, only the appropriate permissions to execute the Transact-SQLTransact-SQL statements are required. Para las instrucciones Transact-SQLTransact-SQL que generan conjuntos de resultados de STATISTICS XML, el permiso de ejecución de la instrucción Transact-SQLTransact-SQL y el permiso SHOWPLAN deben ser correctos, o la ejecución de la instrucción Transact-SQLTransact-SQL se anulará y no se generará información relativa al plan de presentación.For Transact-SQLTransact-SQL statements that do produce STATISTICS XML result sets, checks for both the Transact-SQLTransact-SQL statement execution permission and the SHOWPLAN permission must succeed, or the Transact-SQLTransact-SQL statement execution is aborted and no Showplan information is generated.

EjemplosExamples

Las dos instrucciones siguientes utilizan la opción SET STATISTICS XML para mostrar la forma en que SQL ServerSQL Server analiza y optimiza el uso de índices en las consultas.The two statements that follow use the SET STATISTICS XML settings to show the way SQL ServerSQL Server analyzes and optimizes the use of indexes in queries. La primera consulta utiliza el operador de comparación Es igual a (=) en la cláusula WHERE de una columna indizada.The first query uses the Equals (=) comparison operator in the WHERE clause on an indexed column. La segunda consulta utiliza el operador LIKE en la cláusula WHERE.The second query uses the LIKE operator in the WHERE clause. De este modo, SQL ServerSQL Server debe utilizar un recorrido de índice clúster para encontrar los datos que satisfacen la condición de la cláusula WHERE.This forces SQL ServerSQL Server to use a clustered index scan to find the data that satisfies the WHERE clause condition. Los valores de la EstimateRows y EstimatedTotalSubtreeCost atributos son inferiores en la primera consulta indizada que indica que se procesa mucho más rápido y utiliza menos recursos que el consultas no indizadas.The values in the EstimateRows and the EstimatedTotalSubtreeCost attributes are smaller for the first indexed query indicating that it was processed much faster and used fewer resources than the nonindexed query.

USE AdventureWorks2012;  
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  

Vea tambiénSee Also

SET SHOWPLAN_XML (Transact-SQL) SET SHOWPLAN_XML (Transact-SQL)
sqlcmd (utilidad)sqlcmd Utility