Share via


ANY DATABASE izin Görünüm

Yeni, sunucu düzeyinde izin VIEW ANY DATABASE izindir.Bu izin verilen oturum açma, oturumu olup sahibi veya belirli bir veritabanı gerçekte kullanabilirsiniz ne olursa olsun, tüm veritabanlarının tanımlayan meta veriler görebilirsiniz.

VIEW ANY DATABASE iznine maruz kalma olasılığını meta verilerde düzenler sys.Databases and sys.sysdatabases görünümler ve sp_helpdb sistem saklı yordamı.

Varsayılan olarak, için VIEW ANY DATABASE iznine sahip public Rol. Bu nedenle, varsayılan örneğine bağlar her kullanıcı SQL Server örneğindeki tüm veritabanlarının görebilirsiniz. Bu davranış doğrulamak için aşağıdaki sorguyu çalıştırın:

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

Belirli bir oturum açma için ANY DATABASE VIEW izni vermek için aşağıdaki sorguyu çalıştırın:

GRANT VIEW ANY DATABASE TO <login>; 

Tanımlayan meta veriler master ve tempdb veritabanlarının her zaman görünür olduğundan için public.

Üyeleri sysadmin sabit sunucu rolü, tüm veritabanı meta veriler her zaman görebilirsiniz.

Veritabanı sahipleri, satırlardaki her zaman görebilirsiniz sys.databases sahip oldukları veritabanları için.

Bir oturum açma için CREATE DATABASE ve ALTER ANY DATABASE izinleri verme, veritabanı meta veriler erişimi confers.

Not

CREATE DATABASE iznine için örtülü olarak olduğu dbcreator sabit sunucu rolü.

Not

Oturum açma, CREATE DATABASE ve ALTER ANY DATABASE bir oturum açma izinleri ve VIEW ANY DATABASE oturum açmayı reddet, tüm satırları görebilirsiniz sys.databases.

Meta veriler veritabanına görünürlük sınırlamak için , bir oturum açma, VIEW ANY DATABASE iznine reddedin.Bu izin engellendi sonra meta veriler yalnızca bir oturum açma görebilirsiniz master, tempdbve oturumun sahibi olan bir veritabanı. Daha fazla bilgi için bkz:(Transact-SQL) sunucusu izinlerini DENY.