首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >隐藏表结构

隐藏表结构
EN

Database Administration用户
提问于 2017-03-02 07:42:27
回答 3查看 3.1K关注 0票数 3

是否有一种限制用户查看表结构的方法?我只想让他们有一个SELECT,INSERT,UPDATE,DELETE访问,只有在那个表上。我想将一个特定的程序员限制在以下几个方面: 1.不允许他查看任何表定义2,不允许他创建存储过程3。由于已经有用于保存、更新、选择和删除记录的存储过程( SPs ),该程序员将只使用此SPs访问/操作记录。总的来说,出于安全考虑,我们不希望那个程序员对数据库进行任何设计。

EN

回答 3

Database Administration用户

发布于 2017-03-02 08:19:19

这似乎是一个奇怪的要求,但这是可能的。

代码语言:javascript
复制
GRANT SELECT ON YourTable TO FOO;
GRANT INSERT ON YourTable TO FOO;
GRANT UPDATE ON YourTable TO FOO;
GRANT DELETE ON YourTable TO FOO;
DENY VIEW DEFINITION ON YourTable TO FOO;

当然,他们将能够通过发出一个SELECT *来查看列的名称,并且能够通过select into获得更多的数据类型--一个新的(可能是#temp)表。他们会失去那张桌子上的智能感知。

你还说

由于已经有用于保存、更新、选择和删除记录的存储过程( SPs ),该程序员将只使用此SPs访问/操作记录。

在这种情况下,它们可能根本不需要表上的任何权限。如果表和存储过程具有相同的所有者,则只需对过程授予exec权限,则对过程中表的访问仍将通过所有权链接获得成功。

票数 6
EN

Database Administration用户

发布于 2017-03-02 08:28:09

是的,你可以躲在sp_addextendedproperty车管所。

假设您有一个数据库mycompany模式用户,其中有一个包含电话号码、地址和更多详细信息表emp_details的重要信息的表。在sp_extendedproperty的帮助下,您可以在management中隐藏表以避免查看。

使用:

代码语言:javascript
复制
EXEC sp_addextendedproperty 
@name = N'microsoft_database_tools_support', 
@value = '<Hide? , sysname, 1>', 
@level0type ='schema', 
@level0name ='users',  --give the schema name here. if it is dbo give 'dbo'
@level1type = 'table', 
@level1name = 'emp_details'  --give the table name which you want to hide.
Go

,并仅通过Management

向特定用户提供选择、插入、更新和删除权限

  1. 右键单击Management中的数据库。
  2. 选择属性
  3. 选择权限
  4. 如果您的用户没有出现在列表中,请选择“搜索”并键入其名称。
  5. 在下窗口框中的“用户或角色”列表中选择“用户”,检查“格兰特”列下的“选择、插入、更新、删除”权限。

如果您希望只对数据库上的外部客户端授予视图访问权限而不是表访问权限,则为

。要这样做,

代码语言:javascript
复制
DENY SELECT ON table TO user;  //  To Deny on the particular table to user


GRANT SELECT ON view TO user; // To give view permission to particular user.

关于进一步参考如何在sql server管理中隐藏表这里

注意:-不要在生产服务器中直接运行脚本。没有在测试服务器中进行测试。

票数 5
EN

Database Administration用户

发布于 2017-09-03 10:29:00

DbDefence可以隐藏数据库模式,完全关闭数据库,甚至对于DBA也是如此。它对Server 2005和2008是免费的。对于小型数据库,其他Server也是免费的。

免责声明:我与供应商有关联。

票数 -1
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/165929

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档