#sql-server #permissions #sid
#sql-server #разрешения #sid
Вопрос:
Я создал два входа: Login1 и Login2, первый из которых имеет роль системного администратора.
Затем я вхожу в систему с ними обоими и нахожу эти сценарии:
a. Login1: я могу читать данные в базе данных msdb.
b. Login2: я не могу читать данные в базе данных msdb.
Мне интересно узнать глубокую причину.
Это связано с разными разрешениями Login1 и Login2, но вопрос в том, как SQL Server внутренне знает, что Login1 имеет достаточно привилегий для доступа к msdb? Как разрешения работают внутри?
Комментарии:
1.
sysadmin
это роль уровня сервера, а не роль базы данных, иsysadmin
может делать все на сервере. Что касается другого пользователя, если у него нет пользователя в базе данных msdb, у него будут только разрешения, которые общедоступная роль имеет в MSDB.2.
sysadmin
участники роли имеют полные права доступа к экземпляру и автоматически являютсяdbo
пользователями во всех базах данных. У других пользователей должен быть пользователь, созданный в базе данных для входа (если не включен гостевой пользователь базы данных).