And*_*and 17 sql-server permissions grant sql-server-2016
我认为答案是SQL Server肯定的,但我希望能够让某人访问数据库,但我真的希望他们可以访问一个表.
很容易限制某人只访问一个数据库,但不知道我是否可以限制到一个表.
我的想法是用另一个表的同义词创建另一个数据库,然后限制对该数据库的访问,但我想知道是否有人能想到更好的方法.
我也不相信它会起作用,因为我认为会有权限冲突.
Mit*_*eat 29
是.
exec sp_msforeachtable "DENY SELECT ON ? TO [username];"
GO
GRANT SELECT ON [schemaName].[tableName] to [username]
Go
Run Code Online (Sandbox Code Playgroud)
虽然这有效,但您可能最好使用角色和AD组来管理权限.
循环遍历所有表并拒绝访问的问题是,如果添加新表.
重要的是不要让用户'db_datareader'访问整个数据库.使用UI可以使用登录下的"用户映射"选项卡,您可以创建仅具有"公共"访问权限的用户.然后,您可以转到数据库并授予该用户SELECT访问特定表的权限(通过单击Securables选项卡下奇怪命名的"搜索"按钮).
当然,这种方法也适用于脚本.
GRANT SELECT ON [SchemaName].[TableName] to [UserName]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
49149 次 |
| 最近记录: |