【问题标题】:SQL Server 2005 Schema Ownership & Domain AccountsSQL Server 2005 架构所有权和域帐户
【发布时间】:2011-04-14 17:55:29
【问题描述】:

大家好,

在 SQL Svr 2005 中,我为我的数据库创建了一个名为 GSOC 的新模式,它的所有者是 dbo。然后,我创建了一个本地 SQL 用户帐户,并将默认模式设置为 GSOC——我的新模式名称。我有一个视图,我希望此架构控制对它的访问,因此我将本地 SQL 帐户添加到视图的权限中,仅授予 SELECT 权限。这样做的目的是确保 View 的安全,以便用户可以通过 ODBC 和仅新 View 对 SQL Server 进行身份验证 - 仅此而已 - 这正是使用本地 SQL 帐户发生的情况。

问题是我想用域帐户做同样的事情,所以我将域帐户添加到 SQL Server,并将其默认架构设置为 GSOC。然后将域帐户添加到视图的权限,但用户告诉我他可以看到所有视图和表——这是我们在推出生产时不希望看到的。

对我忽略的内容有什么想法吗?

【问题讨论】:

    标签: sql sql-server permissions view schema


    【解决方案1】:

    用户/登录名可以看到他们有权访问的任何对象。

    如果您希望他们只看到视图,他们只需要视图或架构(即架构中的所有对象)的权限。

    如果他们看到所有对象,这意味着他们拥有 db_owner 权限。如果只是所有的表和视图,那么它可能是 db_datareader。

    FIY,Windows 帐户/组没有默认架构。

    【讨论】: