Я разработчик программного обеспечения, заканчивающий веб-приложение. Приложение использует базу данных «DB1» в моем SQL Server 2008 «SQLServer_1».
Я хотел бы создать ограниченного пользователя, которого веб-приложение будет использовать в строке подключения. Этим пользователям будет разрешено выполнять список хранимых процедур, больше ничего. Таким образом, пользователю не должно быть разрешено выполнять специальный SQL или другие хранимые процедуры из этого списка.
У меня небольшая путаница между «пользователем» и «логином», я действительно не знаю, где мне создать новую «учетную запись».
Какие шаги я должен выполнить?
Заранее спасибо.
Все сводится к размеру. Логин - это учетная запись на уровне сервера, а пользователь - это учетная запись уровня базы данных. Пользователь должен быть сопоставлен с логином, поэтому вы сначала создадите свой логин (и в то же время создадите для него способ аутентификации на сервере). Затем в базе данных вашего приложения вы создадите пользователя. Когда вы это сделаете, вам будет предложено выбрать, какой логин представляет этот пользователь. Вы выберете логин, который вы создали ранее. Затем вы можете назначить разрешения для хранимых процедур, которые вы хотите, чтобы они могли выполняться. Конечно, есть более простой способ сделать это:
create login [your login name here] from windows; --if the login is a Windows account
create login [your login name here] with password 'some super secret password'; --if not a Windwos account
use [DB1];
create user [your login name here] for login [your login name here];
grant execute on [your stored procedure here] to [your login name here];
grant execute on [another stored procedure here] to [your login name here];
...
Я не уверен, что ты имеешь в виду? Если вы не знаете разницы между «Пользователь», «Логин» и «Роль», воспользуйтесь отличным документация от Microsoft. Оттуда вы можете перейти к любой другой связанной теме, такой как предоставление прав на выполнение для хранимых процедур.