Ну, это зависит от того, насколько сложно это сделать: -)
Самое простое решение:
- сделать так, чтобы ваш login / db пользователь имел роль db_datareader для чтения всех таблиц
- сделайте так, чтобы ваш login / db пользователь имел роль db_datawriter для записи всех таблиц
Что касается выполнения хранимых процедур, то мы создали новую пользовательскую роль базы данных "db_executor" в нашей базе данных, например:
CREATE ROLE [db_executor] AUTHORIZATION [dbo]
GRANT EXECUTE TO [db_executor]
и затем мы предоставляем эту роль пользователю db. Эта новая пользовательская роль базы данных будет иметь права на выполнение всех существующих И для всех будущих хранимых процедур / функций в вашей базе данных.
С этим ваш пользователь БД может читать и записывать любые таблицы и выполнять любые хранимые процедуры и хранимые функции.
Более сложное решение:
Конечно, вы можете также предоставлять права GRANT для отдельных таблиц, представлений, процедур, функций отдельным пользователям БД и / или ролям БД. Но это может стать довольно грязным и сложным.
Марк