Udostępnij za pośrednictwem


Showplan Security

Informacje planu wykonania plan wykonania może zostać wyprodukowana przez różne sposoby.Można użyć Transact-SQL W przypadku opcji instrukcja zestaw SQL Server Profiler klas zdarzeń, lub mogą wysyłać kwerendy funkcja dynamicznego zarządzania sys.dm_exec_query_plan.Każda metoda wymaga innego zestaw uprawnień, które są opisane w następnych sekcjach.Aby uzyskać więcej informacji na temat uprawnień plan wykonania jest sprawdzana pod kątem Transact-SQL partie, zobacz SHOWPLAN Permission and Transact-SQL Batches.

Uwaga

Gdy SQL Server ustawiono poziom zgodności bazy danych 80 przy użyciu sp_dbcmptlevel przechowywane procedury bieżące uprawnienia plan wykonania nadal ma zastosowanie.Ustawienie poziom zgodności 80 nie produkuje zachowanie uprawnień plan wykonania Microsoft SQL Server 2000.

Uprawnienie plan wykonania — informacje

Do utworzenia wyjściowego plan wykonania za pomocą większości Showplan Transact-SQL Opcje zestaw, użytkownicy muszą posiadać:

  • Uprawnienie plan wykonania baz danych, które zawierają obiekty, o których mowa w Transact-SQL instrukcja, takie jak widoki, procedury przechowywane lub funkcje zdefiniowane przez użytkownika.

  • Uprawnienie do wykonywania Transact-SQL samą deklarację.

    Security noteSecurity Note:

    Użytkownicy, którzy mają uprawnienia do plan wykonania i ALTER TRACE VIEW SERVER STATE mogą przeglądać kwerendy, które są przechwytywane w danych wyjściowych plan wykonania.Te kwerendy mogą zawierać poufne informacje, takie jak hasła.Dlatego zaleca się tylko udzielić tych uprawnień użytkownikom, którzy są uprawnieni do wyświetlania informacji poufnych, takich jak członkowie db_owner stałe rola bazy danych lub członkowie sysadmin ustalić roli serwera.Zalecane jest również tylko zapisać plan wykonania plików lub plików śledzenia, które zawierają plan wykonania zdarzeń do lokalizacji, która korzysta z systemu plików NTFS i ograniczyć dostęp dla użytkowników, którzy są uprawnieni do wyświetlania ważnych informacji.

    Na przykład rozważmy następującą kwerendę:

    SELECT COUNT(*)

    FROM table_1

    WHERE column_1 < 10

    Jeśli złośliwy użytkownik generuje dane wyjściowe plan wykonania zestaw kwerendy, podobnie jak w poniższym przykładzie i zastępuje wartość "10" w predykacie różnych stałe za każdym razem, użytkownik może wywnioskować dystrybucji danych przybliżone wartości kolumna column_1 in table_1 , odczytując w wierszu Szacunkowa zlicza.

plan wykonania uprawnienie jest uprawnieniem poziom bazy danych co:

  • Można udzielić, odmowa lub odwołane tylko za pomocą następujących użytkowników:

    • Członkowie sysadmin stała rola serwera.Domyślnie, wszystkie elementy z tego stała rola serwera uprawnienie plan wykonania we wszystkich bazach danych na serwerze.

    • Członkowie dbcreator ustala rolę serwera baz danych, ich tworzenia i w ten sposób jest właścicielem.Domyślnie wszyscy członkowie tej stała rola serwera, należy mieć uprawnienie plan wykonania baz danych, ich tworzenia i w ten sposób jest właścicielem.

    • Członkowie db_owners stała rola bazy danych w bazach danych jest ich właścicielem.Domyślnie wszyscy członkowie tej stała rola bazy danych, należy mieć uprawnienie plan wykonania właścicielem baz danych.

  • Obsługuje tworzenie łańcucha własności.Po zerwaniu łańcuch własności uprawnienie sprawdza się ponownie w węźle, w którym wystąpiła przerwa.Jednak ponieważ plan wykonania uprawnienie jest uprawnieniem poziom bazy danych, to sprawdzanie tylko wówczas, gdy kwerendy odwoływać obiektów w dwóch lub więcej baz danych.Aby uzyskać więcej informacji na temat Tworzenie łańcucha własności zobacz Ownership Chains.

Aby uzyskać informacje na temat składni, używana do udzielania, odmawianie lub odwołać uprawnienia plan wykonania zobacz Syntax for Granting, Denying, and Revoking the SHOWPLAN Permission.

Przykład

Jeśli użytkownik 1 ma CREATE tabela, INSERT i uprawnienia SELECT i tworzy on tabela T (jest on właścicielem tabela) w bazie danych D, wstawia wiersze do tabela, a następnie zapisuje kwerendy WYBIERAJĄCEJ na tej tabela, kwerendy wykonywane pomyślnie.Jednak użytkownik 1 nie jest w stanie wygenerować plan wykonania, dopóki on to uprawnienie plan wykonania bazy danych D.

Caveat

W poprzednim przykładzie załóżmy, że tej bazy danych D zawiera widok V , dla których użytkownik 1 ma uprawnienie SELECT.Po Użytkownik1 przyznano uprawnienie plan wykonania D, chociaż nie jest on właścicielem V, które mogą nadal generować plan wykonania na podstawie kwerendy, jakie stwarza dla V.To plan wykonania umożliwia mu zobaczyć definicję widoku V, takich jak tabele i widoki, na których V jest oparty.Jednak jeśli V zawiera obiekt, taki jak tabela, których właścicielem jest użytkownik 1 i które istnieje w innej bazie danych, D2, a użytkownik 1 nie jest właścicielem D2, uprawnienie plan wykonania na D2 jest sprawdzana i wymagany.

Uprawnienia wymagane do użycia plan wykonania zestaw opcje

W poniższej tabela przedstawiono uprawnienia wymagane do używania różnych opcji instrukcja zestaw plan wykonania:

zestaw plan wykonania opcji

Wymagane uprawnienia

ZESTAW SHOWPLAN_XML DALEJ

ZESTAW SHOWPLAN_ALL DALEJ

ZESTAW SHOWPLAN_TEXT DALEJ

Dla SELECT, INSERT, UPDATE i DELETE, EXEC stored_prodedure, a EXEC user_defined_function instrukcje, wymaganej do wyprodukowania plan wykonania są następujące uprawnienia:

  • Jest to właściwe uprawnienia do wykonać Transact-SQL instrukcje.

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

Dla wszystkich innych instrukcji, takie jak DDL USE database_nameDynamiczne zestaw, DECLARE, Transact-SQLi tak dalej, tylko odpowiednie uprawnienia do wykonać Transact-SQL Instrukcja są potrzebne. Aby uzyskać więcej informacji zobaczSHOWPLAN Permission and Transact-SQL Batches.

STATYSTYKI zestaw W DANYCH XML

zestaw W PROFILU STATYSTYK

  • Jest to właściwe uprawnienia do wykonać Transact-SQL instrukcje.

  • Uprawnienie do wszystkich baz danych zawierających obiekty, do którego odnosi się plan wykonania Transact-SQL instrukcje.

Dla Transact-SQL instrukcje, które nie daje STATISTICS profilu lub STATISTICS XML powoduje zestawy tylko odpowiednie uprawnienia do wykonywania Transact-SQL instrukcje są wymagane. Dla Transact-SQL instrukcje, które należy wykonać daje wynik STATISTICS profilu lub STATISTICS XML Ustawia, sprawdza, czy dla obu Transact-SQL wykonanie instrukcja i uprawnienie plan wykonania musi się pomyślnie, lub Transact-SQL wykonanie instrukcja jest przerywana i są generowane nie informacje plan wykonania. Aby uzyskać informacje o tym, które Transact-SQL instrukcje pozwalają na odczytywanie plan wykonania informacji, zobacz Transact-SQL Statements That Produce Showplans.

CZAS zestaw STATYSTYK

ZESTAW DANYCH STATYSTYCZNYCH WE/WY

  • Jest to właściwe uprawnienia do wykonać Transact-SQL instrukcje.

Z następujących opcji instrukcja zestaw Sprawdź, czy ani wymagają uprawnienia plan wykonania.

Gdy zaznaczone jest uprawnienie plan wykonania?

Uprawnienie plan wykonania jest sprawdzana podczas Transact-SQL wykonuje instrukcję lub programu wsadowego i plan wykonania informacje są generowane. Czek nie występuje, gdy to opcja plan wykonania zestaw jest ustawiona na ON.

Uwaga

Kontekst bazie danych Transact-SQL partia zestaw za pomocą USE <database_name> Instrukcja. Uprawnienie plan wykonania nie jest zaznaczone w użyciu <database_name> instrukcje i nie są sprawdzane w bazie danych kontekstu.

Aby uzyskać więcej informacji na temat opcji instrukcja zestaw plan wykonania zobacz następujące tematy:

Uprawnienia wymagane do wyświetlania graficznego plany wykonanie przy użyciu programu SQL Server Management Studio

Uprawnienia wymagane do wyświetlania graficznego wykonanie planów w programie SQL Server Management Studio wymienionych w poniższej tabela:

Opcja Studio wykonanie planu zarządzania

Wymagane uprawnienia

Wyświetlanie szacowany wykonanie planu

Wymaga te same uprawnienia niezbędne do korzystania z opcji instrukcja zestaw SHOWPLAN_XML

Zawierają rzeczywiste plan wykonanie

Wymaga te same uprawnienia niezbędne do korzystania z opcji instrukcja STATISTICS XML zestaw

Aby uzyskać więcej informacji zobaczDisplaying Graphical Execution Plans (SQL Server Management Studio).

Uprawnienia wymagane do wyświetlania planów wykonanie przy użyciu programu SQL Server Profiler zdarzenie klasy

Aby wyświetlić planów wykonywania przy użyciu SQL Server Profiler klas zdarzeń, użytkownicy muszą być członkiem sysadmin stałych roli serwera lub mieć uprawnienie ALTER TRACE.Uprawnienie plan wykonania nie jest zaznaczone, ani nie jest ono wymagane.

Aby uzyskać więcej informacji zobaczDisplaying Execution Plans by Using SQL Server Profiler Event Classes.

Uprawnienia wymagane do wyświetlania planów wykonanie przy użyciu funkcja dynamicznego zarządzania sys.dm_exec_query_plan

Aby wyświetlić planów wykonania za pomocą sys.dm_exec_query_plan funkcja dynamicznego zarządzania, użytkownicy muszą mieć uprawnienie VIEW SERVER STATE tylko.

Aby uzyskać więcej informacji zobaczsys.dm_exec_query_plan (Transact-SQL).

Historia zmian

Microsoft Learning

Aktualizacja zabezpieczeń notatki do wyróżniania sposobu ochrony informacji poufnych, które mogą być wyświetlane w plikach plan wykonania lub plików śledzenia.

See Also

Other Resources