Udostępnij za pośrednictwem


SHOWPLAN zabezpieczeń

SHOWPLAN wykonanie planu informacji może zostać wyprodukowana przez różne sposoby.Można użyć Transact-SQL Ustaw opcje instrukcja SQL Server Profiler zdarzenie klas lub można wykonywać kwerendy funkcja dynamicznego zarządzania sys.dm_exec_query_plan.Każda metoda wymaga inny zestaw uprawnień, które są opisane w następnych sekcjach.Aby uzyskać więcej informacji dotyczących sposobu uprawnienie SHOWPLAN jest sprawdzana pod kątem Transact-SQL partii, zobacz Uprawnienie SHOWPLAN i instancje Transact-SQL.

Ostrzeżenie

Gdy SQL Server poziom zgodności bazy danych jest zestaw do 80 za pomocą sp_dbcmptlevel bieżące uprawnienie SHOWPLAN nadal stosuje się procedura składowana.Ustawienie zgodności poziom do 80 nie produkuje zachowanie uprawnień Showplan Microsoft SQL Server 2000.

O uprawnieniach SHOWPLAN

Do produkcji wykonanie planu produkcji za pomocą większości Showplan Transact-SQL należy USTAWIĆ opcje użytkowników:

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

  • Odpowiednie uprawnienia do wykonać Transact-SQL instrukcja sobie.

    Uwaga dotycząca zabezpieczeńUwaga dotycząca zabezpieczeń

    Użytkownicy, którzy mają uprawnienia SHOWPLAN, ALTER śledzenia lub stan WIDOKU serwera można wyświetlić kwerend, które są przechwytywane w produkcji Showplan.Te kwerendy mogą zawierać poufne informacje, takie jak hasła.Dlatego zaleca się tylko udzielić tych uprawnień użytkowników, którzy są uprawnieni do przeglądania informacji poufnych, takich jak członkowie db_owner ustalonego rola bazy danych lub członkami sysadmin stała rola serwera.Zalecane jest również tylko zapisać Showplan pliki lub pliki śledzenia, które zawierają zdarzenia związane z Showplan do lokalizacji, która korzysta z systemu plików NTFS i ograniczyć dostęp użytkowników, którzy są uprawnieni do przeglądania informacji poufnych.

    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 Showplan dane wyjściowe zestaw kwerend jak w tym przykładzie i zastępuje wartość "10" w predykacie z różnych stałych czas, użytkownik może rozpoznać dystrybucji danych przybliżone wartości kolumna kolumna_1 w table_1 czytając zlicza szacowany wiersza.

Uprawnienie SHOWPLAN jest uprawnienie poziom bazy danych co:

  • Mogą być udzielane, odmowy, lub odwołane tylko dla następujących użytkowników:

    • Członkowie sysadmin stała rola serwera.Domyślnie wszyscy członkowie to stała rola serwera SHOWPLAN uprawnienie dla wszystkich baz danych na serwerze.

    • Członkowie dbcreator stała rola serwera dla baz danych, tworzenia i dlatego własne.Domyślnie wszyscy członkowie tej stała rola serwera uprawnienie SHOWPLAN baz danych, tworzenia i dlatego własne.

    • Członkowie db_owners stała rola bazy danych dla ich własnych baz danych.Domyślnie wszyscy członkowie to stała rola bazy danych uprawnień SHOWPLAN na ich własnych baz danych.

  • Obsługuje tworzenie łańcucha własności.Zerwaniu łańcuch własności uprawnienie jest sprawdzany ponownie w węźle, w którym wystąpiła przerwa.Jednak ponieważ uprawnienie SHOWPLAN jest uprawnienie poziom bazy danych, to sprawdzanie występuje tylko podczas kwerendy odniesienia obiektów w dwóch lub więcej baz danych.Aby uzyskać więcej informacji na temat Tworzenie łańcucha własności, zobacz Łańcuchy własności.

Aby uzyskać informacje o składni używanej do przyznania, odmowy lub odwołać uprawnienia SHOWPLAN, zobacz Składnia udzielanie, odmawianie i odwoływanie uprawnień SHOWPLAN.

Przykład

Jeśli User1 ma CREATE tabela, WSTAW i wybierz uprawnienia, a on tworzy tabela t (jest on właścicielem) w bazie danych d, wstawia wiersze do tabela, a następnie zapisuje kwerendy WYBIERAJĄCEJ na tabela, kwerendy wykonuje się pomyślnie.Użytkownik1 nie jest jednak mógł wygenerować Showplan, dopóki on to uprawnienie SHOWPLAN bazy danych d.

Zastrzeżenie:

W poprzednim przykładzie załóżmy, że bazy danych d zawiera widok v dla którego Użytkownik1 ma uprawnienie SELECT.Po przyznaniu Użytkownik1 uprawnienia SHOWPLAN d, chociaż nie jest on właścicielem v, on nadal generować Showplan na kwerendzie, jakie stwarza dla v.Umożliwia mu zobacz definicję widoku to Showplan v, w tym tabele i widoki, na którym v jest oparty.Jednakże jeśli v zawiera obiekt, taki jak tabela, która jest własnością Użytkownik1 i który istnieje w innej bazie danych, D2, i Użytkownik1 nie jest właścicielem D2, uprawnienie SHOWPLAN na D2 jest sprawdzana i wymagane.

Uprawnienia wymagane do używania Showplan Ustaw opcje

Uprawnienia wymagane do używania różnych opcji Showplan zestaw instrukcja są wymienione w poniższej tabela:

SHOWPLAN Ustawianie opcji

Wymagane uprawnienia

ZESTAW Z SHOWPLAN_XML

ZESTAW Z SHOWPLAN_ALL

ZESTAW Z SHOWPLAN_TEXT

Dla SELECT, INSERT, UPDATE i DELETE, szefowie stored_prodedureoraz szefowie user_defined_function instrukcje, następujące uprawnienia są zobowiązani do przedstawienia Showplan:

  • Właściwe 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 dynamiczne Transact-SQLi tak dalej tylko odpowiednie uprawnienia do wykonać Transact-SQL instrukcja są potrzebne.Aby uzyskać więcej informacji, zobacz Uprawnienie SHOWPLAN i instancje Transact-SQL.

USTAW STATYSTYKI NA XML

USTAW STATYSTYKI DOTYCZĄCE PROFILU

  • Właściwe uprawnienia do wykonać Transact-SQL instrukcji.

  • SHOWPLAN uprawnienia do wszystkich baz danych zawierających obiekty odwołuje się Transact-SQL instrukcji.

Dla Transact-SQL zestawy, tylko odpowiednie uprawnienia do wyników instrukcji, które nie produkują statystyki profilu lub XML statystyki wykonać Transact-SQL instrukcje są wymagane.Dla Transact-SQL instrukcja, które dają wynik statystyki profilu lub XML statystyki Ustawia, sprawdza, czy oba Transact-SQL musi pomyślnie uprawnienie Wykonywanie instrukcja i uprawnienia SHOWPLAN lub Transact-SQL Przerwano wykonanie instrukcja i generowane żadne informacje Showplan.Aby uzyskać informacje o Transact-SQL instrukcji uzyskania Showplan informacji, zobacz Instrukcje języka Transact-SQL, które produkują Showplans.

USTAW STATYSTYKI CZASU

ZESTAW STATYSTYKI WE/WY

  • Właściwe uprawnienia do wykonać Transact-SQL instrukcji.

Tych opcji instrukcja SET Sprawdź ani wymagają uprawnienia SHOWPLAN.

Gdy uprawnienie SHOWPLAN jest zaznaczone?

Uprawnienie SHOWPLAN jest sprawdzana podczas Transact-SQL instrukcja lub wykonuje wsadowe i Showplan informacje wygenerowane.Kontrola nie występuje, gdy Showplan zestaw jest opcja zestaw on.

Ostrzeżenie

Kontekst bazy danych dla Transact-SQL partia zestaw za pomocą USE <database_name> instrukcja.Uprawnienie SHOWPLAN nie jest sprawdzany przy użyciu <database_name> sprawozdań i nie są sprawdzane w bazie danych kontekstu.

Więcej informacji o ZESTAWIE Showplan instrukcja opcji, zobacz następujące tematy:

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

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

Management StudioOpcja Plan wykonania

Wymagane uprawnienia

Wyświetlanie szacowany Plan wykonania

Te same uprawnienia potrzebne do korzystania z opcji SHOWPLAN_XML zestaw instrukcja wymaga

Obejmują rzeczywiste wykonanie planu

Te same uprawnienia potrzebne do korzystania z opcji statystyki XML zestawu instrukcja wymaga

Aby uzyskać więcej informacji, zobacz Wyświetlanie graficznego wykonanie planów (SQL Server Management Studio).

Uprawnienia wymagane do wyświetlania wykonanie planów przy użyciu klas zdarzeń programu SQL Server Profiler

Aby wyświetlić wykonanie planów przy użyciu SQL Server Profiler klas zdarzeń, użytkownicy muszą być element członkowski z sysadmin ustalone roli serwera lub mieć uprawnienie Zmiana śledzenia.Uprawnienie SHOWPLAN nie jest zaznaczone, ani nie jest ono wymagane.

Aby uzyskać więcej informacji, zobacz Wyświetlanie wykonanie planów przy użyciu klas zdarzeń programu SQL Server Profiler.

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

Aby wyświetlić wykonanie planów przy użyciu sys.dm_exec_query_plan funkcja dynamicznego zarządzania, użytkownicy muszą dysponować tylko uprawnienie WYŚWIETL stan serwera.

Aby uzyskać więcej informacji, zobacz sys.dm_exec_query_plan (języka Transact-SQL).

Zobacz także

Inne zasoby