大家好,
在SQLSVR2005中,我为我的数据库创建了一个名为GSOC的新模式,它的所有者是dbo。然后,我创建了一个本地SQL用户帐户,默认模式设置为GSOC - my new schema name。我有一个视图希望此架构控制对其的访问,因此我将本地SQL帐户添加到该视图的权限中,仅授予SELECT权限。这样做的目的是保护视图,以便用户可以通过ODBC向SQL Server进行身份验证,并且只能通过新的视图-没有其他内容-这正是使用本地SQL帐户所发生的事情。
问题是我想用域帐户做同样的事情,所以我将域帐户添加到SQL Server,并将其默认模式设置为GSOC。然后将域帐户添加到视图的权限中,但用户告诉我他可以看到所有视图和表-这是我们在投入生产时不希望看到的。
对我忽略的地方有什么想法吗?
发布于 2010-09-20 23:19:47
用户/登录可以查看他们拥有权限的任何对象。
如果您希望他们只看到视图,则他们只需要拥有对视图或架构(意味着架构中的所有对象)的权限。
如果他们看到所有对象,这意味着他们拥有db_owner权限。如果它只是表和视图,那么它可能是db_datareader。
仅供参考,Windows帐户/组没有默认架构。
https://stackoverflow.com/questions/3752808
复制相似问题