创建模式的目的是什么

时间:2012-06-11 04:08:58

标签: sql sql-server

我在数据库中仅使用Schema对主题分组表,视图,存储过程,函数和其他对象,我不知道必须使用哪个模式,以及为什么模式选项卡位于SSMS中的安全选项卡下面。

编辑:

Schemas

2 个答案:

答案 0 :(得分:2)

Schemata是一种逻辑分组对象的方法,因此可以通过模式而不是单独地将一致权限应用于所有这些对象。考虑:

create schema [foo] authorization [dbo]
grant select on schema::[foo] to [user1]
create table [foo].[table_1] (...)
create table [foo].[table_2] (...)
create table [foo].[table_3] (...)

通过将所有表放在一个模式中,我能够在模式级别授予权限,并且权限概念可以传递到其中包含的所有表。

答案 1 :(得分:1)

我认为这个位置是因为用户(角色和用户)的安全性和模式之间的映射。不是模式的数据结构,如表和列等。

如果您转到安全标签 - >用户 - >双击用户。您会发现可以编辑该用户与SCHEMA的拥有或角色成员资格之间的映射。

我希望对你有用。