SET SHOWPLAN_XML (Transact-SQL)

Actualizado: 5 de diciembre de 2005

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.

Icono de vínculo a temasConvenciones de sintaxis de Transact-SQL

Sintaxis

SET SHOWPLAN_XML { ON | OFF }

Notas

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

Cuando SET SHOWPLAN_XML está establecida en ON, SQL Server devuelve información acerca de la ejecución de cada instrucción sin ejecutarla y no se ejecutan las instrucciones Transact-SQL. Cuando esta opción está establecida en ON, se devuelve información acerca 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 de tipo nvarchar(max) para aplicaciones como la utilidad sqlcmd, donde la salida XML es utilizada después por otras herramientas para mostrar y procesar la información del plan de consultas.

[!NOTA] La vista de administración dinámica, sys.dm_exec_query_plan, devuelve la misma información que SET SHOWPLAN XML con el tipo de datos xml. Esta información se devuelve desde la columna query_plan de sys.dm_exec_query_plan. Para obtener más información, vea sys.dm_exec_query_plan.

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 2005. Se encuentra en la unidad que contiene los archivos de instalación de SQL Server, en:

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

El esquema del plan de presentación se puede encontrar también en este sitio Web.

[!NOTA] Si Incluir plan de ejecución real está seleccionado en SQL Server Management Studio, esta opción SET no produce salida de de plan de presentación XML. Cancele la selección del botón Incluir plan de ejecución real antes de utilizar esta opción SET.

Permisos

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.

En el caso de las instrucciones SELECT, INSERT, UPDATE, DELETE, EXEC stored_procedure y EXEC user_defined_function, para producir un plan de presentación, 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 las demás instrucciones, como DDL, USE database_name, SET, DECLARE, SQL dinámico, etc., sólo son necesarios los permisos apropiados para ejecutar las instrucciones Transact-SQL.

Para obtener más información, vea Seguridad del plan de presentación y Permiso SHOWPLAN y lotes Transact-SQL.

Ejemplos

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 agrupado para encontrar los datos que cumplen la condición de la cláusula WHERE. Los valores de los atributos EstimateRows y EstimatedTotalSubtreeCost son inferiores en la primera consulta indizada, lo que indica que se procesa mucho más rápidamente y que utiliza menos recursos que la no indizada.

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;

Vea también

Referencia

SET (Transact-SQL)

Otros recursos

Cómo guardar un plan de ejecución en formato XML
Analizar una consulta
Instrucciones Transact-SQL que generan planes de presentación
Mostrar planes de ejecución mediante las opciones SET del plan de presentación (Transact-SQL)

Ayuda e información

Obtener ayuda sobre SQL Server 2005

Historial de cambios

Versión Historial

5 de diciembre de 2005

Contenido modificado:
  • Se ha cambiado la ubicación de instalación del esquema XML del plan de presentación.