Предоставление полных разрешений SQL Server для базы данных - PullRequest
0 голосов
/ 28 ноября 2018

Как я могу дать пользователю (который был создан БЕЗ ВХОДА) полный контроль над содержащейся базой данных без необходимости указывать имя этой базы данных, например, GRANT CONTROL ON DATABASE :: DatabaseName TO UserName, но без использования имени базы данных?Я полагаю, что в него войдет GRANT ALTER ANY SCHEMA TO UserName, но я не уверен, что еще мне нужно предоставить, или есть ли лучший способ.Спасибо.

Ответы [ 2 ]

0 голосов
/ 29 ноября 2018
  1. Откройте SQL Server Management Studio и подключитесь к вашему серверу.
  2. В обозревателе объектов разверните папку «Безопасность» под сервером.
  3. Щелкните правой кнопкой мыши «Вход в систему».»и выберите« Новый логин ... »
  4. Добавьте имя пользователя в формате« Домен \ Имя пользователя ».Вы также можете добавить доменные группы, просто изменив его на «Domain \ GroupName».5.Если вы хотите, чтобы этот пользователь имел полный доступ к экземпляру SQL Server, вы можете выбрать вкладку «Роли сервера».Добавление роли «sysadmin» предоставит им полный доступ к серверу для выполнения таких действий, как обновление базы данных, резервное копирование базы данных, удаление базы данных.
  5. Нажмите кнопку ОК, и ваш пользователь будет создан и будет иметь доступв вашу базу данных.

  6. Выберите вкладку «Сопоставление пользователей».В верхней части этого экрана установите флажок рядом с именем базы данных.После того, как вы выделите базу данных и установите флажок для сопоставления пользователя с ней, вы можете добавить в нее членство в ролях.Для доступа к базе данных.

  7. Нажмите кнопку ОК, и ваш пользователь будет создан и имеет доступ к вашей базе данных.
0 голосов
/ 28 ноября 2018

Если вы буквально хотите, чтобы они могли делать что-либо в этой базе данных, вы можете просто добавить их к роли db_owner:

USE ContainedDatabase;
GO
ALTER ROLE db_owner ADD MEMBER [username];

Если вы хотите бытьболее детально, вы можете добавить их к меньшим ролям, таким как db_ddladmin, db_securityadmin и т. д. Вы можете увидеть список встроенных ролей здесь:

Разрешения, присущие каждой из этих ролей:

И если они не подходят, вы можете создать свои собственные роли , добавить своего пользователя в эту роль и предоставить определенные разрешения для той роли, которую вы создали (и / или добавить их в другие роли).Разница между применением разрешений к роли, а не непосредственно к пользователю, заключается в простом повторном использовании - если вы добавляете еще пять пользователей, которым вы хотите применить те же разрешения, вы просто добавляете их в пользовательскую роль, а не применяете эти детальные разрешения илироли для всех 5 пользователей.

...