SET SHOWPLAN_XML (Transact-SQL)

 

ESTE TEMA SE APLICA A:síSQL Server (a partir de 2008)síBase de datos SQL de AzurenoAlmacenamiento de datos SQL de Azure noAlmacenamiento de datos paralelos

Hace que SQL Server no ejecute instrucciones Transact-SQL. En su lugar, SQL Server devuelve información detallada de cómo se van a ejecutar las instrucciones con el formato de un documento XML bien definido.

Topic link icon Convenciones de sintaxis de Transact-SQL

  
SET SHOWPLAN_XML { ON | OFF }  

La opción SET SHOWPLAN_XML se establece en tiempo de ejecución, no en tiempo de análisis.

Cuando SET SHOWPLAN_XML es ON, SQL Server devuelve información del plan de ejecución para cada instrucción sin ejecutarla y Transact-SQL no se ejecutan las instrucciones. Cuando esta opción está establecida en ON, se devuelve información acerca del plan de ejecución de todas las instrucciones Transact-SQL siguientes hasta que se vuelve a establecer en OFF. Por ejemplo, si se ejecuta una instrucción CREATE TABLE cuando SET SHOWPLAN_XML es ON y después se ejecuta una instrucción SELECT en la que se especifica la tabla creada, SQL Server devuelve un mensaje de error, ya que la tabla no existe. Por ello, las referencias posteriores que se hagan a la tabla generarán un error. Cuando SET SHOWPLAN_XML está establecida en OFF, SQL Server ejecuta las instrucciones sin generar ningún informe.

SET SHOWPLAN_XML está diseñada para devolver datos nvarchar (max) para aplicaciones como el sqlcmd utilidad, donde la salida XML se utiliza otras herramientas para mostrar y procesar la información del plan de consulta.

System_CAPS_ICON_note.jpg Nota


La vista de administración dinámica sys.dm_exec_query_plan, devuelve la misma información que SET SHOWPLAN XML en el xml tipo de datos. Esta información se devuelve desde el query_plan columna de sys.dm_exec_query_plan. Para obtener más información, consulte sys.dm_exec_query_plan ( Transact-SQL ).

SET SHOWPLAN_XML no se puede especificar en un procedimiento almacenado. Debe ser la única instrucción en un lote.

SET SHOWPLAN_XML devuelve información como un conjunto de documentos XML. Cada lote después de la instrucción SET SHOWPLAN_XML ON se refleja en la salida con un único documento. Cada documento contiene el texto de las instrucciones del lote, seguido de los detalles de los pasos de ejecución. El documento muestra los costos estimados, el número de filas, los índices a los que se ha obtenido acceso y los tipos de operadores utilizados, el orden de combinación y más información acerca de los planes de ejecución.

El documento que contiene el esquema XML de la salida XML de SET SHOWPLAN_XML se copia durante la instalación en un directorio local del equipo en el que se instala Microsoft SQL Server. Se encuentra en la unidad que contiene los archivos de instalación de SQL Server, en:

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

También puede encontrarse en el esquema del plan de presentación este sitio Web.

System_CAPS_ICON_note.jpg Nota


Si incluir Plan de ejecución real está seleccionado en SQL Server Management Studio, esta opción SET no produce resultado del plan de presentación XML. Desactive el incluir Plan de ejecución real botón antes de utilizarla opción SET..

Para utilizar SET SHOWPLAN_XML, debe disponer de permisos suficientes para ejecutar las instrucciones en las que se ejecuta SET SHOWPLAN_XML, y debe tener el permiso SHOWPLAN para todas las bases de datos que contengan objetos a los que se hace referencia.

Para SELECT, INSERT, UPDATE, DELETE, EXEC stored_procedure, y EXEC user_defined_function instrucciones para generar un plan de presentación que el usuario debe:

  • Tener los permisos correspondientes para ejecutar las instrucciones Transact-SQL.

  • Tener el permiso SHOWPLAN en todas las bases de datos que contengan objetos a los que hacen referencia las instrucciones Transact-SQL, como tablas, vistas, etc.

Para todas las demás instrucciones, como DDL, USE database_name, CONJUNTO, DECLARE, SQL dinámica y así sucesivamente, solo los permisos adecuados para ejecutar el Transact-SQL son necesarias las instrucciones.

Las dos instrucciones siguientes utilizan la opción SET SHOWPLAN_XML para mostrar la forma en que SQL Server analiza y optimiza el uso de índices en las consultas.

La primera consulta utiliza el operador de comparación es igual a (=) en la cláusula WHERE de una columna indizada. La segunda consulta utiliza el operador LIKE en la cláusula WHERE. De este modo, SQL Server debe utilizar un recorrido de índice clúster para encontrar los datos que cumplen la condición de la cláusula WHERE. 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 la no indizada.

USE AdventureWorks2012;  
GO  
SET SHOWPLAN_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 SHOWPLAN_XML OFF;  

Instrucciones SET ( Transact-SQL )

Adiciones de comunidad

AGREGAR
Mostrar: