Udostępnij za pośrednictwem


ODMÓW uprawnień do obiektów systemu (Transact-SQL)

Odmawia uprawnienia do obiektów systemowych, takich jak procedury przechowywane, rozszerzonych procedur przechowywanych, funkcji i widoków.

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

Składnia

DENY { SELECT | EXECUTE } ON [ sys.]system_object TO principal 

Argumenty

  • [ sys.]
    Syskwalifikator jest wymagana tylko wtedy, gdy odwołujesz się do widoki wykazu i dynamicznego zarządzania.

  • system_object
    Określa obiekt, na którym odmowa uprawnień.

  • principal
    Określa główny, z którego odwołany jest uprawnienie.

Uwagi

Ta instrukcja może służyć do odmawiania uprawnień do niektórych procedur przechowywanych, rozszerzonych procedur przechowywanych, tabela-wycenione funkcje, funkcji wartość skalarna , widoki widoki wykazu, widoków zgodności, INFORMATION_SCHEMA widoki, dynamiczne zarządzanie widokami i tabele systemowe są instalowane przez SQL Server.Każdy z tych obiektów systemu istnieje jako unikatowy rekord w bazie danych zasób (mssqlsystemresource).Baza danych zasób jest tylko do odczytu.Łącze do obiektu jest ujawniona jako rekord w sys schemat każdej bazy danych.

Rozpoznawanie nazw domyślnych rozpoznawania nazw niekwalifikowanych procedury do bazy danych zasób .W związku z tym sys kwalifikator jest wymagany podczas określania widoki wykazu i dynamicznego zarządzania.

PrzestrogaPrzestroga

Odmawianie uprawnień do obiektów systemu spowoduje, że aplikacje zależne od nich się nie powieść.SQL Server Management Studioużywa widoki wykazu i maja nie funkcja zgodnie z oczekiwaniami, jeżeli zmienić uprawnienia domyślne widoki wykazu.

Odmawianie uprawnień wyzwalaczy i kolumny obiektów systemu nie jest obsługiwane.

Uprawnienia do obiektów systemu zostanie zachowane podczas uaktualniania z SQL Server.

Obiekty systemowe są widoczne w sys.system_objects katalogu widoku.Uprawnienia do obiektów systemu są widoczne w sys.database_permissions widok w katalogu wzorca bazy danych.

Następująca kwerenda zwraca informacje dotyczące uprawnień obiekty systemu:

SELECT * FROM master.sys.database_permissions AS dp 
    JOIN sys.system_objects AS so
    ON dp.major_id = so.object_id
    WHERE dp.class = 1 AND so.parent_object_id = 0 ;
GO

Uprawnienia

Wymaga uprawnień sterowania serwera.

Przykłady

Poniższy przykład powoduje zablokowanie EXECUTE zgody na xp_cmdshell do public.

DENY EXECUTE ON sys.xp_cmdshell TO public;
GO