SQL Server 2008试图通过视图和模式使其更安全

时间:2012-11-16 16:36:08

标签: sql sql-server-2008 security

您好,感谢您抽出宝贵时间阅读本文,

我正在沙盘中徘徊,我正在努力寻找使数据库更安全的最佳方法。

我们遇到的问题是我们有3个数据库,我们需要每个数据库的信息(使用工会和视图)。我们还有外部运输公司和商家需要访问我们数据库中的某些信息。

我的想法是创建一个具有不同商家模式的独立数据库(称为MVIEW)。然后根据商家的需要在这些模式中创建视图。然后,视图将访问其他服务器的数据(问题是,这将要求商家在其他服务器上拥有SELECT权限等。

所以在这一点上,我认为在每个数据库中创建商家模式并在那里创建可以访问数据库中必要信息的视图是明智的,然后让HVIEW数据库访问这些视图。通过这种方式,我可以让商家选择那些模式。

问题仍然存在,错误表明权限被拒绝,用户无权访问视图试图查看的模式。

你有什么建议吗?

再次感谢您的时间。

1 个答案:

答案 0 :(得分:0)

只允许他们访问某些视图,但不能访问数据表。在视图中,请参阅用户登录ID。因此隐藏在视图中的幕后,您将使用WHERE子句限制其访问权限

示例:选择。 。 。 。 supplierUser = SYSTEM_USER

示例:选择。 。 。 。其中externalAccess = 1和SYSTEM_USER(从tbl_externalUsers中选择名称)