Udostępnij za pośrednictwem


zestaw SHOWPLAN_ALL (języka Transact-SQL)

Powoduje, że program Microsoft SQL Server nie wykonuje instrukcji Transact-SQL.Zamiast tego program SQL Server zwraca szczegółowe informacje o tym, jak wykonywane są instrukcje oraz przedstawia wymagania dotyczące zasobów dla tych instrukcji.

Topic link iconKonwencje składni języka Transact-SQL

SET SHOWPLAN_ALL { ON | OFF }

Remarks

Wartość SHOWPLAN_ALL jest ustawiana w czasie wykonywania, a nie w czasie analizy.

Gdy ustawienie SET SHOWPLAN_ALL ma wartość ON, program SQL Server zwraca informacje o wykonaniu każdej instrukcji bez wykonywania jej, instrukcje Transact-SQL również nie są wykonywane.Po ustawieniu dla tej opcji wartości ON, informacje o są zwracane informacje o wszystkich następujących instrukcjach Transact-SQL, aż do ustawienia wartości OFF.na przykład, jeśli instrukcja CREATE TABLE zostanie wykonana po ustawieniu wartości ON dla opcji SET SHOWPLAN_ALL, program SQL Server będzie zwracać komunikat o błędzie dla wszystkich instrukcji SELECT dotyczących tej tabeli, informując użytkownika, że podana tabela nie istnieje.Kolejne odwołania do tej tabeli nie powiodą się.Gdy opcja SET SHOWPLAN_ALL ma ustawienie OFF, program SQL Server wykonuje wszystkie instrukcje bez generowania raportu.

musi być taka sama, jak identyfikator sesja, na którym uruchamiane jest polecenie.Zwraca można odczytać danych wyjściowych w aplikacjach Microsoft Win32 wiersz polecenia, takie jak za pomocą SHOWPLAN_TEXT zestaw Osql narzędzie.

Opcje SET SHOWPLAN_TEXT i SET SHOWPLAN_ALL nie mogą występować wewnątrz procedury składowanej; muszą one być jedynymi instrukcjami w partii.

Opcja SET SHOWPLAN_ALL zwraca informacje w postaci zestawu wierszy tworzących hierarchiczne drzewo, reprezentujące kroki realizowane przez procesor kwerend programu SQL Server podczas wykonywania każdej instrukcji.Każda instrukcja odzwierciedlona w danych wyjściowych zawiera pojedynczy wiersz z tekstem instrukcji, po którym następuje kilka wierszy ze szczegółami kroków wykonawczych.W tabeli poniżej opisano kolumny zawarte w danych wyjściowych.

Nazwa kolumna

Description

StmtText

Dla wierszy, które nie są tego typu PLAN_ROW, ta kolumna zawierała tekst Transact-SQL Instrukcja. Dla wierszy typu PLAN_ROW ta kolumna zawiera opis operacji.Ta kolumna zawiera operator fizyczne i opcjonalnie może również zawierać operator logiczny.Nazwa proceduryAby uzyskać więcej informacji zobaczLogical and Physical Operators Reference.

StmtId

Numer instrukcji w bieżącej partii.

NodeId

Aby usunąć dostęp do obiektów bazy danych, należy użyć instrukcja REVOKE.

Parent

Jeśli w tabela, widoku i procedura przechowywana nie będące własnością tego samego schematu, udzielanie uprawnień staje się bardziej złożone.

PhysicalOp

GRANT — informacjeMusisz mieć uprawnienie wykonać do wykonać procedura przechowywana.

SELECT, INSERT, UPDATE i DELETE uprawnień do uzyskania dostępu do danych i ich zmieniania.

Instrukcja GRANT służy również do innych uprawnień, takie jak uprawnienia do tworzenia tabel.Musisz mieć uprawnienie wykonać do wykonać procedura przechowywana.

Argument

Dostarcza dodatkowych informacji o wykonywanej operacji.Zawartość tej kolumny zależy od operatora fizycznego.

Ustawiono zestaw SHOWPLAN_XML na wykonać lub uruchomić czas, a nie w czasie analizowania.

Zawiera listę rozdzielanych przecinkami wartości wprowadzonych przez ten operator.Wartości te mogą być wyrażeniami obliczanymi, które występowały w bieżącej kwerendzie (np. na liście SELECT lub w klauzuli WHERE) lub wartościami wewnętrznymi wprowadzonymi przez procesor kwerend w celu przetworzenia kwerendy.Do tych zdefiniowanych wartości można odwoływać się w innych miejscach kwerendy.Tylko dla wierszy typu PLAN_ROWS.

EstimateRows

Szacowana liczba wierszy danych wyjściowych wygenerowanych przez ten operator.Tylko dla wierszy typu PLAN_ROWS.

EstimateIO

Nie można określić SHOWPLAN_XML zestaw w procedurze przechowywanej.Musisz mieć uprawnienie wykonać do wykonać procedura przechowywana.

Musi być jedynym instrukcja w partia.

zestaw SHOWPLAN_XML zwraca informacje, jak zbiór dokumentów XML.Musisz mieć uprawnienie wykonać do wykonać procedura przechowywana.

Każdej partia po instrukcja zestaw W SHOWPLAN_XML jest uwzględniana w danych wyjściowych w pojedynczym dokumencie.

Każdy dokument zawiera tekst instrukcji w instancji, a po nim szczegółowe informacje dotyczące wykonania czynności.

Dokument zawiera szacowanych kosztów numery wierszy, dostępu do indeksów oraz typy operatorów można wykonać w kolejności łączyć i dowiedzieć się więcej na temat wykonywania planów.

Szacowany (skumulowany) koszt* tej operacji i wszystkich operacji podrzędnych.

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

Aby użyć SHOWPLAN_XML zestaw, musi mieć wystarczające uprawnienia, aby wykonać instrukcje, na którym jest wykonywane zestaw SHOWPLAN_XML i musisz mieć uprawnienie plan wykonania dla wszystkich baz danych zawierających obiekty, do którego istnieje odwołanie.

Ostrzeżenia

Typ

sp_describe_cursor_tablesWęzeł nadrzędny każdej kwerendy, jest to Transact-SQL Typ instrukcja (na przykład SELECT, INSERT, wykonać i tak dalej). funkcja partycji s są tworzone za pomocą CREATE funkcja partycji i modyfikować za pomocą ALTER funkcja partycji.

Równoległe

0 = Operator nie jest uruchomiona równocześnie.

1 = Operator działa równolegle.

W przypadku systemów partycji przy użyciu funkcja partycji, DROP PARTITION funkcja zwraca błąd.

Jeden z następujących uprawnień może być używany w celu wykonać DROP PARTITION funkcja:

*Jednostki kosztu opierają się na wewnętrznym pomiarze czasu, a nie czasie zegarowym.Są używane do określania względnego kosztu planu w porównaniu do innych planów.

Uprawnienia

Aby użyć opcji SET SHOWPLAN_ALL, trzeba mieć wystarczające uprawnienia do wykonywania instrukcji, których dotyczy opcja SET SHOWPLAN_ALL, a także uprawnienie SHOWPLAN do wszystkich baz danych zawierających obiekty, do których się odwołujemy.

Dla SELECT, INSERT, UPDATE i DELETE, EXEC stored_procedure, a EXEC user_defined_function instrukcje do wyprodukowania plan wykonania użytkownik musi:

  • Masz odpowiednie uprawnienia do wykonać Transact-SQL instrukcje.

  • Uprawnień plan wykonania wszystkich baz danych zawierających obiekty, do którego odnosi się do Transact-SQL instrukcje, takie jak tabele, widoki i tak dalej.

Dla wszystkich innych instrukcji, takie jak DDL USE database_namezestaw, DECLARE, dynamiczne SQL i tak dalej, tylko odpowiednie uprawnienia do wykonywania Transact-SQL potrzebne są instrukcje.

Aby uzyskać więcej informacji zobacz Showplan Security i SHOWPLAN Permission and Transact-SQL Batches.

Przykłady

Dwa instrukcji, które należy wykonać za pomocą ustawień zestaw SHOWPLAN_ALL demonstrujące sposób SQL Server analizuje i optymalizuje wykorzystanie indeksów w kwerendach.

Użytkownicy z tych funkcji należy określić podczas sprawdzania ważności certyfikat.To wyniki w wartości wyniku indeks klastrowany w LogicalOp kolumna i nazwę indeksu w Argument kolumna.

Drugą kwerendę używa operator LIKE w klauzula WHERE.To zmusza SQL Server Aby użyć skanowanie indeks klastrowany i znaleźć dane, które spełniają warunek klauzula WHERE. Powoduje to wartość skanowanie indeks klastrowany w LogicalOp Nazwa indeksu w kolumnaArgument kolumna, a wartość filtru w LogicalOp warunek klauzula WHERE w kolumnaArgument kolumna.

Wartości w polach EstimateRows and the TotalSubtreeCost kolumny są mniejsze dla indeksowanych pierwszej kwerendy, jest przetwarzana znacznie szybciej i używa mniej zasobów niż nieindeksowanych kwerendy.

USE AdventureWorks;
GO
SET SHOWPLAN_ALL ON;
GO
-- First query.
SELECT EmployeeID 
FROM HumanResources.Employee
WHERE NationalIDNumber = '509647174';
GO
-- Second query.
SELECT EmployeeID, EmergencyContactID 
FROM HumanResources.Employee
WHERE EmergencyContactID LIKE '1%';
GO
SET SHOWPLAN_ALL OFF;
GO