Эта статья является зеркальной статьёй машинного перевода, пожалуйста, нажмите здесь, чтобы перейти к оригиналу.

Вид: 7117|Ответ: 2

[Источник] Новым пользователям SQL Server разрешено доступ только к определённым базам данных

[Скопировать ссылку]
Опубликовано 22.05.2022 12:26:37 | | | |
Требования: сайт использует SQL Server в качестве постоянного хранилища и требует настройки адреса базы данных, учетной записи, пароля и конфигурации строк подключенияПользователи SA — привилегии слишком великиЯ хочу создать нового пользователя, который будет разрешать все права только на определённую базу данных.
В этой статье используется инструмент SQL Server Management Studio для подключения к базе данных SQL Server 2019 в качестве примера.

Откройте SQL Server Management Studio и войдите с помощью аутентификации Windows (или используйте свой аккаунт SA).


Сначала создайте новую базу данных TestDB с помощью следующей команды:

Нажмите левое меню [Безопасность] --- [Вход], затем правой кнопкой мыши «Войти» и выберите [Новый вход], как показано ниже:




Во вкладке «Общее» введите имя входа, пароль, подтвердите пароль и выберите базу данных по умолчанию, как показано на следующем рисунке:



Переключитесь на пользовательскую карту, проверьте целевую базу данных [TestDB] и предоставьте публичные db_owner разрешения (чтобы новый пользователь itsvse мог получить администраторские права на базе данных TestDB), как показано на рисунке ниже:



Наконец, нажмите OK.

Мы стараемся использовать нового пользователя для входа в базу данных, как показано на следующем рисунке:




Хотя вы можете видеть другие базы данных, при попытке получить к ним доступ вы получите следующую ошибку:

Название: Microsoft SQL Server Management Studio
------------------------------

База данных Test недоступна. (ОбъектИсследователь)

------------------------------
Пуговица:

Уверен
------------------------------


Наконец, приложите описание разрешений:

'db_owner' — имеет полные права на базу данных, включая права на удаление базы данных
'db_accessadmin' — даёт пользователю базы данных только право создавать других пользователей базы, но не разрешает создавать авторизованных пользователей.
'db_securityadmin' — управление полными правами, владением объектами, ролями и членством в ролях
'db_ddladmin' — может издавать все DDL (Create, Alter и Drop), но не GRANT, REVOKE или DENY
'db_backupoperator' — Разрешение на резервное копирование и восстановление базы данных [резервное копирование и восстановление также можно сделать через SQL Sever Management Studio]
'db_datareader' — может выбрать все данные из любой пользовательской таблицы базы данных
'db_datawriter' — может изменять все данные в любой пользовательской таблице в базе данных
'db_denydatareader' — нельзя запрашивать данные в пользовательской таблице базы данных
'db_denydatawriter' — нельзя менять данные в пользовательской таблице базы данных

(Конец)





Предыдущий:Плагин интернационализации jQuery Datatables
Следующий:Практическое использование GitHub Actions для компиляции прошивки OpenWRT
Опубликовано 22.05.2022 15:21:07 |
Приходите и учитесь снова
 Хозяин| Опубликовано 11.02.2025 17:03:54 |
Скрипт SQL выглядит следующим образом:


Отказ:
Всё программное обеспечение, программные материалы или статьи, публикуемые Code Farmer Network, предназначены исключительно для учебных и исследовательских целей; Вышеуказанный контент не должен использоваться в коммерческих или незаконных целях, иначе пользователи несут все последствия. Информация на этом сайте взята из Интернета, и споры по авторским правам не имеют отношения к этому сайту. Вы должны полностью удалить вышеуказанный контент с компьютера в течение 24 часов после загрузки. Если вам нравится программа, пожалуйста, поддержите подлинное программное обеспечение, купите регистрацию и получите лучшие подлинные услуги. Если есть нарушение, пожалуйста, свяжитесь с нами по электронной почте.

Mail To:help@itsvse.com