我只是为 SQL 服务器用户设置了对单个表的访问权限。我通过为用户提供 db_datareader 角色来做到这一点。然后我通过设置每个表的 DENY 列中的所有复选框来设置我不希望此用户访问的所有表的权限。
那行得通,但要点击很多框。
有没有更短、更简单的方法来做到这一点?
是的!你已经完全倒退了。从 datareader 角色中删除用户(正如您发现的那样,授予对整个数据库的选择权限)并且只授予对该表的选择访问权限。
USE MyDB
GRANT SELECT ON dbo.MyTable to JoeUser
Run Code Online (Sandbox Code Playgroud)
或者,在 SQL Server Management Studio 中