Exportar (0) Imprimir
Expandir todo
Expandir Minimizar
Este artículo se tradujo de forma manual. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original

SET SHOWPLAN_XML (Transact-SQL)

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.

Se aplica a: SQL Server (SQL Server 2008 a versión actual), Windows Azure SQL Database (Versión inicial a versión actual).

Icono de vínculo a temas 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 está establecida en ON, SQL Server devuelve información acerca del plan de 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 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 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 consulta.

Nota 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 (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\120\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 Nota

Si se selecciona Incluir plan de ejecución real en SQL Server Management Studio, esta opción SET no general la salida del plan de presentación XML. Desactive la opción Incluir plan de ejecución real antes de utilizar la 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.

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., solo son necesarios los permisos apropiados para ejecutar las instrucciones Transact-SQL.

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 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 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;
¿Te ha resultado útil?
(Caracteres restantes: 1500)
Gracias por sus comentarios

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft