问候所有人,
在SQL Svr 2005中,我为我的数据库创建了一个名为GSOC的新模式,其所有者是dbo。然后,我创建了一个本地SQL用户帐户,其默认架构设置为GSOC - 我的新架构名称。我有一个View,我希望这个模式控制访问,所以我将本地SQL帐户添加到仅授予SELECT权限的View权限。这样做的目的是保护View,以便用户可以通过ODBC向SQL Server进行身份验证,只有新的View - 没有其他 - 这正是使用本地SQL帐户所发生的事情。
问题是我想使用域帐户执行相同的操作,因此我将域帐户添加到SQL Server,并将其默认架构设置为GSOC。然后将域帐户添加到View的权限中,但是用户告诉我他可以看到所有的视图和表格 - 这是我们在开始制作时不想要的。
对我所忽视的事情有任何想法?
答案 0 :(得分:0)
用户/登录可以看到他们拥有权限的任何对象。
如果您希望他们只看到视图,他们只需要视图或架构的权限(这意味着架构中的所有对象)。
如果他们看到所有对象,则表示他们拥有db_owner权限。如果它只是所有表和视图,那么它可能是db_datareader。
FIY,Windows帐户/组没有默认架构。