我真的希望有人对此有所了解。只是为了澄清我在前面谈论的内容;在引用Schema时,我的意思是用于所有权分离的数据库对象,而不是数据库创建模式。
我们使用Sql Server Schema对象将表分组为每个组属于应用程序的wholes。每个应用程序也有自己的数据库登录。我刚刚开始介绍数据库角色,以便完全自动化部署到测试和暂存环境。我们正在使用xSQL Object比较引擎。每晚运行批处理文件以执行比较并生成脚本更改文件。然后,可以将其与代码更改一起应用于目标数据库。
我遇到的问题如下:请考虑以下数据库结构:
数据库:
该设置非常适合使用这些设置的三个应用程序。唯一的问题是如何创建/生成创建模式的脚本 - >角色权限?正确应用所有者角色。因此,例如,架构Core获得所有者角色CoreRole(如预期的那样)。但是SchemaARole和SchemaBRole没有得到应用。
我无法在xSQL对象中找到打开此选项的选项,也不存在从SQL Server管理工作室编写脚本的选项。好吧,我至少找不到它。
我想做不可能吗?那么SQL Server如何管理这种关系呢?
答案 0 :(得分:0)
我刚刚启动了SQL Profiler&陷入了我认为你的情景。试试这个:
GRANT SELECT ON [Core].[TestTable] TO [CoreRole]
GRANT DELETE ON [Core].[TestTable] TO [CoreRole]
GRANT UPDATE ON [Core].[TestTable] TO [CoreRole]