ZESTAW SHOWPLAN_XML (Transact-SQL)

Powoduje, że SQL Server nie do wykonać Transact-SQL instrukcji.Zamiast tego SQL Server zwraca szczegółowe informacje na temat jak oświadczenia mają być wykonany w postaci dobrze dokumentu XML

Ikona łącza do tematuJęzyka Transact-SQL składni konwencje

Składnia

SET SHOWPLAN_XML { ON | OFF }

Uwagi

Ustawienie ustawianie SHOWPLAN_XML jest zestaw na wykonać lub czas jednostkowy i nie analizować czas.

Gdy ustawienie SHOWPLAN_XML jest włączone, SQL Server zwraca informacje plan wykonania dla każdego instrukcja bez wykonywania, i Transact-SQL sprawozdań nie zostaną wykonane.Po tej opcji jest zestaw na, wykonanie planu informacje o wszystkich kolejnych Transact-SQL sprawozdania jest zwracany, dopóki jest opcja zestaw OFF.Na przykład, jeżeli utworzenie tabeli wykonaniu instrukcja , podczas gdy ustawienie SHOWPLAN_XML jest włączone, SQL Server zwraca komunikat o błędzie z kolejnych SELECT instrukcja dotyczących tej samej tabela; określona tabela nie istnieje.Dlatego kolejne odwołania do tej tabela nie powiedzie się.Gdy ustawienie SHOWPLAN_XML jest wyłączona, SQL Server wykona instrukcje bez generowania raportu.

Ustaw SHOWPLAN_XML zamierza zwrócić wynik jako nvarchar(max) dla aplikacji, takich jak polecenie sqlcmd narzędzia, w którym dane wyjściowe XML są następnie używane przez inne narzędzia do wyświetlania i przetwarzać informacje planu kwerend.

Ostrzeżenie

dynamiczny widok zarządzania sys.dm_exec_query_plan, zwraca te same informacje, jak USTAWIĆ XML SHOWPLAN w xml typu danych.Informacje te są zwracane z query_plan kolumna sys.dm_exec_query_plan.Aby uzyskać więcej informacji, zobacz sys.dm_exec_query_plan (języka Transact-SQL).

Nie można określić zestaw SHOWPLAN_XML wewnątrz procedura składowana.Musi być jedynym instrukcja w partia.

Ustaw SHOWPLAN_XML zwraca informacje, jak zestaw dokumentów XML.Każdej partia po USTAWIONA na SHOWPLAN_XML instrukcja jest odzwierciedlona w danych wyjściowych przez jednolity dokument.Każdy dokument zawiera tekst instrukcji w partia, następuje szczegóły wykonanie czynności.Dokument zawiera szacowanych kosztów numery wierszy, dostęp do indeksów i typy operatorów wykonywane łączyć zamówienia oraz więcej informacji o wykonanie planów.

Dokument zawierający schemat XML dla danych wyjściowych XML przez ustawienie SHOWPLAN_XML jest kopiowany podczas instalacji do katalogu lokalnego na komputerze, w których firma Microsoft SQL Server jest zainstalowany.Można znaleźć na dysku zawierającym SQL Server plików instalacyjnych na:

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

Schemat Showplan można także znaleźć w tę witryna sieci Web.

Ostrzeżenie

Jeśli Zawierają rzeczywiste Plan wykonania wybrany w SQL Server Management Studio, to nie produkują zestawu opcji danych wyjściowych XML Showplan.Wyczyść Zawierają rzeczywiste Plan wykonania przycisk przed za pomocą tej opcji.

Uprawnienia

Aby użyć zestawu SHOWPLAN_XML, musi mieć uprawnienia wystarczające do wykonać instrukcji, na które SHOWPLAN_XML USTAWIONY jest wykonywany i musi mieć uprawnienie SHOWPLAN dla wszystkich baz danych zawierających obiekty.

Dla SELECT, INSERT, UPDATE i DELETE, szefowie stored_procedureoraz szefowie user_defined_function instrukcji do produkcji Showplan, użytkownik musi:

  • Mieć odpowiednie uprawnienia do wykonać Transact-SQL instrukcji.

  • SHOWPLAN uprawnienia do wszystkich baz danych zawierających obiekty odwołuje się Transact-SQL instrukcji, takich jak tabele, widoki i tak dalej.

Dla wszystkich innych sprawozdań, takich jak DDL, UŻYJ database_name, SET, DECLARE, SQLdynamiczne i tak dalej tylko odpowiednie uprawnienia do wykonać Transact-SQL sprawozdania są potrzebne.

Aby uzyskać więcej informacji, zobacz SHOWPLAN zabezpieczeń i Uprawnienie SHOWPLAN i instancje Transact-SQL.

Przykłady

Dwie deklaracje, które należy wykonać za pomocą ustawień SHOWPLAN_XML USTAWIĆ demonstrujące sposób SQL Server analizuje i optymalizuje wykorzystanie indeksów w kwerendach.

Pierwszą kwerendę używa porównania równości operator (=) w klauzula WHERE w kolumnaindeksowanej.Drugą kwerendę używa operator LIKE w klauzulaWHERE.Zmusza to SQL Server Skanowanie indeks klastrowany i znaleźć dane spełniające warunek klauzula WHERE.Wartości w EstimateRows i EstimatedTotalSubtreeCost atrybuty są mniejsze dla pierwszej kwerendy indeksowanych, wskazujący, że jest przetwarzana znacznie szybciej i wykorzystuje mniej zasobów niż nieindeksowanych kwerendy.

USE AdventureWorks2008R2;
GO
SET SHOWPLAN_XML ON;
GO
-- First query.
SELECT BusinessEntityID 
FROM HumanResources.Employee
WHERE NationalIDNumber = '509647174';
GO
-- Second query.
SELECT BusinessEntityID, LoginID 
FROM HumanResources.Employee
WHERE JobTitle LIKE 'Production%';
GO
SET SHOWPLAN_XML OFF;