Udostępnij za pośrednictwem


WYŚWIETL wszystkie uprawnienia do bazy danych

Uprawnienie WYŚWIETL wszystkie bazy danych jest nowy, poziom serwera uprawnienie.Logowanie, któremu udzielono tego uprawnienia, można wyświetlić metadane opisujące wszystkich baz danych, niezależnie od logowania jest właścicielem czy rzeczywiście można użyć określonej bazy danych.

Uprawnienie bazy danych dowolnego WIDOKU reguluje narażenia metadane w sys.databases i sys.sysdatabases widoki i sp_helpdb systemowa procedura składowana.

Domyślnie uprawnienie WYŚWIETL wszystkie bazy danych jest przyznawane public rolę.Dlatego domyślnie, każdy użytkownik łączy do wystąpienie SQL Server można zobaczyć wszystkie bazy danych w instancji.Aby sprawdzić, czy ten problem, uruchom następującą kwerendę:

SELECT l.name as grantee_name, p.state_desc, p.permission_name 
FROM sys.server_permissions AS p JOIN sys.server_principals AS l 
ON   p.grantee_principal_id = l.principal_id
WHERE permission_name = 'VIEW ANY DATABASE' ;
GO

Aby udzielić uprawnień bazy danych dowolnego WIDOKU do określonego identyfikatora logowania, uruchom następującą kwerendę:

GRANT VIEW ANY DATABASE TO <login>; 

Metadane opisujące master i tempdb baz danych jest zawsze widoczny na public.

Członkowie sysadmin stała rola serwera zawsze można zobaczyć wszystkie metadane bazy danych.

Właściciele bazy danych zawsze można wyświetlić wiersze w sys.databases dla baz danych, których jest właścicielem.

Udzielanie uprawnień tworzenie bazy danych i ZMIEŃ DOWOLNE bazę danych do identyfikatora logowania przyznaje dostęp do metadane baz danych.

Ostrzeżenie

To uprawnienie Tworzenie bazy danych, aby dbcreator stała rola serwera.

Ostrzeżenie

Jeśli udzielić uprawnienia Tworzenie bazy danych i ZMIEŃ DOWOLNE bazę danych do identyfikatora logowania i logowania nie Odmawiaj bazy danych dowolnego WIDOKU logowania można zobaczyć wszystkie wiersze w sys.databases.

Aby ograniczyć widoczność do bazy danych metadane, Odmowa logowania uprawnienie WYŚWIETL wszystkie bazy danych.Po odmówiono tego uprawnienia logowania można wyświetlić tylko metadane dla master, tempdbi baz danych, które jest właścicielem logowania.Aby uzyskać więcej informacji, zobacz ODMAWIANIE uprawnień Server (Transact-SQL).