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