【发布时间】:2011-10-15 04:26:55
【问题描述】:
我真的希望有人对此有所了解。只是为了澄清我在说什么;当提到 Schema 时,我指的是用于所有权分离的数据库对象,而不是数据库创建模式。
我们使用 Sql Server Schema 对象将表分组为整体,其中每个组都属于一个应用程序。每个应用程序也有它自己的数据库登录。我刚刚开始介绍数据库角色,以便完全自动化部署到测试和登台环境。我们正在使用 xSQL 对象比较引擎。每晚运行一个批处理文件以执行比较并生成脚本更改文件。然后可以将其与代码更改一起应用于目标数据库。
我遇到的问题如下。考虑以下数据库结构:
数据库:
- 安全/架构:
- 核心
- CoreRole(所有者)
- SchemaARole(选择、删除、更新)
- SchemaBRole(选择)
- 架构A
- SchemaARole(所有者)
- 架构B
- SchemaBRole(所有者)
- 核心
- 安全/角色/数据库角色:
- 核心角色
- core_login
- SchemaARole
- login_a
- 架构BRole
- login_b
- 核心角色
该设置非常适合使用这些设置的三个应用程序。唯一的问题是如何创建/生成创建模式-> 角色权限的脚本?所有者角色得到正确应用。因此,例如,模式 Core 获得所有者角色 CoreRole(如预期的那样)。但是 SchemaARole 和 SchemaBRole 没有得到应用。
我无法在 xSQL 对象中找到将其打开的选项,也没有从 SQL Server 管理工作室编写脚本的选项。好吧,至少我找不到。
我在尝试做不可能的事吗?那么 SQL Server 是如何管理这种关系的呢?
【问题讨论】:
标签: tsql sql-server-2008 permissions roles