Требования: сайт использует 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' — нельзя менять данные в пользовательской таблице базы данных
(Конец)
|