Цель состоит в том, чтобы создать РОЛЬ, которая позволяет пользователям выполнять обычные задачи, включая создание таблиц, но запрещая удаление таблиц.
Вот что у меня есть:
CREATE ROLE db_All_CreateTable
DENY ALTER ANY SCHEMA TO db_All_CreateTable
GRANT CREATE TABLE, EXECUTE, SELECT, INSERT, DELETE, UPDATE TO db_All_CreateTable
EXEC sp_addrolemember 'db_All_CreateTable', "DOMAIN\DOMAIN_USER";
Поскольку роли DENY "DROP TABLE" не существует, мне придется предоставить все необходимое. Строка «DENY ALTER» была добавлена, чтобы указать, что я вообще не хочу эту роль.
Похоже, что он работает, как ожидалось, но это может быть просто удача.
Вопрос: Является ли это допустимым способом создания роли, которая может выполнять обычно работу с базой данных и создавать таблицы, или есть лучший способ, спасибо.