У меня есть .net, где я только читаю доступ к базе данных SQL Server. Возможно ли, чтобы SQL Server предоставил мне доступ на запись только к ОДНОЙ из таблиц в базе данных и ограничил меня чтением только для остальной базы данных?
SQL Server - разрешение для каждой таблицы?
Ответ 1
Используйте этот TSQL script, если вам нужно:
EXEC sp_addrolemember N'db_datareader', N'User1';
GRANT INSERT, UPDATE, SELECT ON
MyTable
TO User1 --for multiples, it TO User1,User2
Ответ 2
Да, да, это так.
Просто выделите роль ReadOnly и дайте явные права на запись в соответствующую таблицу.
Ответ 3
В SQL Server Management Studio щелкните правой кнопкой мыши пользователя только для чтения в имени базы данных | безопасность | Пользователи и выберите "Свойства".
Выберите "Securables" и нажмите "Поиск...". В раскрывающемся списке выберите "Все объекты типа..." и нажмите "ОК". Выберите "Таблицы" в следующем окне и нажмите "ОК".
Затем вернитесь в окно Securables для каждой таблицы, которую пользователь может написать: Нажмите на таблицу, а в окне "Разрешения" внизу в столбце "Грант" выберите "Вставить", "Выбрать" и "Обновить".