Я просто настроил доступ пользователя SQL-сервера к одной таблице. Я сделал это, предоставив пользователю роль db_datareader. Затем я установил разрешения для всех таблиц, к которым я не хотел, чтобы этот пользователь имел доступ, установив все флажки в столбце DENY для каждой таблицы.
Это сработало, но было много щелчков мышью.
Есть ли более короткий и простой способ сделать это?
ДА! Вы сделали это в точности наоборот. Удалите пользователя из роли читателя данных (которая, как вы обнаружили, предоставляет выбор для всей базы данных) и предоставьте доступ только к этой таблице.
USE MyDB
GRANT SELECT ON dbo.MyTable to JoeUser
Или в SQL Server Management Studio