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.
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